diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | shell/ev-sidebar-links.c | 10 |
2 files changed, 16 insertions, 0 deletions
@@ -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); } |