Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--shell/ev-sidebar-links.c10
2 files changed, 16 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7dd1057..5612ca1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-06-07 Nickolay V. Shmyrev <<nshmyrev@yandex.ru>>
+
+ * shell/ev-sidebar-links.c: (ev_sidebar_links_dispose):
+
+ Cleanup links job on exit.
+
2005-06-07 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
* cut-n-paste/toolbar-editor/egg-editable-toolbar.c:
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);
}