From 0a9ba272a22ed1a8d4521321a7f8fc95042e6253 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Tue, 24 Jul 2001 18:13:14 +0000 Subject: Don't stop the idle_queue and unref from here, since this might be called * backend/ebook/e-book-listener.c (e_book_listener_stop): Don't stop the idle_queue and unref from here, since this might be called from inside e_book_listener_check_queue, and we don't want to return to that function with the listener having been destroyed. (e_book_listener_check_queue): Don't exit early if the queue is stopped. Proceed through the check if the queue is NULL (which is must be if the queue is stopped), and then reach the existing code to remove the idle handler. Combined with the above, this fixes ximian #4485 (again). This is not a plot to boost my showstopper-bugfixing count by fixing the same bug over and over again. svn path=/trunk/; revision=11346 --- addressbook/backend/ebook/e-book-listener.c | 11 ----------- 1 file changed, 11 deletions(-) (limited to 'addressbook/backend/ebook') diff --git a/addressbook/backend/ebook/e-book-listener.c b/addressbook/backend/ebook/e-book-listener.c index 87ea5f874f..285c6646b2 100644 --- a/addressbook/backend/ebook/e-book-listener.c +++ b/addressbook/backend/ebook/e-book-listener.c @@ -35,11 +35,6 @@ struct _EBookListenerPrivate { static gboolean e_book_listener_check_queue (EBookListener *listener) { - if (listener->priv->stopped) { - listener->priv->idle_id = 0; - return FALSE; - } - if (listener->priv->response_queue != NULL) { gtk_signal_emit (GTK_OBJECT (listener), e_book_listener_signals [RESPONSES_QUEUED]); @@ -678,12 +673,6 @@ e_book_listener_stop (EBookListener *listener) g_list_free (listener->priv->response_queue); listener->priv->response_queue = NULL; - if (listener->priv->idle_id) { - g_source_remove (listener->priv->idle_id); - listener->priv->idle_id = 0; - bonobo_object_unref (BONOBO_OBJECT (listener)); - } - listener->priv->stopped = TRUE; } -- cgit