From c0c2e3fbdad5f8e3bac4ef7a5ec01dd51b902aea Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Mon, 23 Jul 2001 17:52:53 +0000 Subject: Re-fix for my 07-18 not-quite-fix. * backend/ebook/e-book-listener.c: Add a "stopped" flag like EBookViewListener. (e_book_listener_check_queue): Don't emit signals if the listener is stopped. (e_book_listener_queue_generic_response, etc): Don't queue responses if the listener is stopped. (e_book_listener_stop): Flush the queue and stop queue/emitting further responses. * backend/ebook/e-book.c (e_book_unload_uri): Revert the previous change and call e_book_listener_stop() instead. * backend/ebook/e-book-view-listener.c (e_book_view_listener_stop): When removing an idle handler, unref the listener as well, since e_book_view_listener_queue_response will have ref'ed it. svn path=/trunk/; revision=11306 --- addressbook/backend/ebook/e-book-view-listener.c | 1 + 1 file changed, 1 insertion(+) (limited to 'addressbook/backend/ebook/e-book-view-listener.c') diff --git a/addressbook/backend/ebook/e-book-view-listener.c b/addressbook/backend/ebook/e-book-view-listener.c index 16dc1a8ed8..705cc155c8 100644 --- a/addressbook/backend/ebook/e-book-view-listener.c +++ b/addressbook/backend/ebook/e-book-view-listener.c @@ -367,6 +367,7 @@ e_book_view_listener_stop (EBookViewListener *listener) if (listener->priv->idle_id) { g_source_remove(listener->priv->idle_id); listener->priv->idle_id = 0; + bonobo_object_unref (BONOBO_OBJECT (listener)); } for (l = listener->priv->response_queue; l != NULL; l = l->next) { -- cgit v1.2.3