Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/ev-sidebar-links.c
diff options
context:
space:
mode:
authorNickolay V. Shmyrev <nshmyrev@src.gnome.org>2005-06-06 23:37:15 (GMT)
committer Nickolay V. Shmyrev <nshmyrev@src.gnome.org>2005-06-06 23:37:15 (GMT)
commit2380ada377881c8e6bf00368f713ebd72e355dda (patch)
tree9542d1597a65228debe15e515d8fcc649e5358a0 /shell/ev-sidebar-links.c
parent1109efff73c6f11040c1d491d99141423d6e6aeb (diff)
Cleanup links job on exit
Diffstat (limited to 'shell/ev-sidebar-links.c')
-rw-r--r--shell/ev-sidebar-links.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/shell/ev-sidebar-links.c b/shell/ev-sidebar-links.c
index ac34bac..6882007 100644
--- a/shell/ev-sidebar-links.c
+++ b/shell/ev-sidebar-links.c
@@ -67,6 +67,8 @@ static void row_activated_callback (GtkTreeView *treeview,
GtkTreePath *arg1,
GtkTreeViewColumn *arg2,
gpointer user_data);
+static void job_finished_callback (EvJobLinks *job,
+ EvSidebarLinks *sidebar_links);
static void ev_sidebar_links_page_iface_init (EvSidebarPageIface *iface);
static void ev_sidebar_links_set_document (EvSidebarPage *sidebar_page,
EvDocument *document);
@@ -143,6 +145,14 @@ ev_sidebar_links_dispose (GObject *object)
sidebar->priv->page_cache = NULL;
}
+ if (sidebar->priv->job) {
+ g_signal_handlers_disconnect_by_func (sidebar->priv->job,
+ job_finished_callback, sidebar);
+ ev_job_queue_remove_job (sidebar->priv->job);
+ g_object_unref (sidebar->priv->job);
+ sidebar->priv->job = NULL;
+ }
+
G_OBJECT_CLASS (ev_sidebar_links_parent_class)->dispose (object);
}