diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2005-06-06 09:01:06 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@src.gnome.org> | 2005-06-06 09:01:06 (GMT) |
commit | 9f3860c715d418bc4af69e0409714a6d58677839 (patch) | |
tree | 94005c8ed8d5697ed29c3e4dee7fbc68d73d1acd /shell | |
parent | df9fcbd74c6e7bebad8b481bf6cd5c21813e2390 (diff) |
Cleanup the old job when changing document
2005-06-06 Marco Pesenti Gritti <mpg@redhat.com>
* shell/ev-sidebar-links.c: (job_finished_callback),
(ev_sidebar_links_set_document):
Cleanup the old job when changing document
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ev-sidebar-links.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/shell/ev-sidebar-links.c b/shell/ev-sidebar-links.c index 1d73822..ac34bac 100644 --- a/shell/ev-sidebar-links.c +++ b/shell/ev-sidebar-links.c @@ -523,6 +523,7 @@ job_finished_callback (EvJobLinks *job, gtk_tree_view_set_model (GTK_TREE_VIEW (priv->tree_view), job->model); g_object_unref (job); + priv->job = NULL; /* Expand one level of the tree */ path = gtk_tree_path_new_first (); @@ -572,6 +573,13 @@ ev_sidebar_links_set_document (EvSidebarPage *sidebar_page, priv->document = g_object_ref (document); priv->page_cache = ev_document_get_page_cache (document); + if (priv->job) { + g_signal_handlers_disconnect_by_func (priv->job, + job_finished_callback, + sidebar_links); + g_object_unref (priv->job); + } + priv->job = ev_job_links_new (document); g_signal_connect (priv->job, "finished", @@ -579,7 +587,6 @@ ev_sidebar_links_set_document (EvSidebarPage *sidebar_page, sidebar_links); /* The priority doesn't matter for this job */ ev_job_queue_add_job (priv->job, EV_JOB_PRIORITY_LOW); - } static gboolean |