[evolution-data-server] Bug #599955 - Addressbook's writable signal received late



commit 1fa820e67fbf4057d5b69074313d860702d427c7
Author: Milan Crha <mcrha redhat com>
Date:   Fri Nov 13 16:33:20 2009 +0100

    Bug #599955 - Addressbook's writable signal received late

 addressbook/libedata-book/e-book-backend.c      |   10 +++++-----
 addressbook/libedata-book/e-data-book-factory.c |    6 ++----
 2 files changed, 7 insertions(+), 9 deletions(-)
---
diff --git a/addressbook/libedata-book/e-book-backend.c b/addressbook/libedata-book/e-book-backend.c
index e0e2332..0842906 100644
--- a/addressbook/libedata-book/e-book-backend.c
+++ b/addressbook/libedata-book/e-book-backend.c
@@ -120,20 +120,20 @@ e_book_backend_open (EBookBackend *backend,
 	g_mutex_lock (backend->priv->open_mutex);
 
 	if (backend->priv->loaded) {
-		e_data_book_respond_open (
-			book, opid, GNOME_Evolution_Addressbook_Success);
-
 		e_data_book_report_writable (book, backend->priv->writable);
 		e_data_book_report_connection_status (book, backend->priv->online);
+
+		e_data_book_respond_open (
+			book, opid, GNOME_Evolution_Addressbook_Success);
 	} else {
 		GNOME_Evolution_Addressbook_CallStatus status =
 			e_book_backend_load_source (backend, e_data_book_get_source (book), only_if_exists);
 
-		e_data_book_respond_open (book, opid, status);
-
 		if (status == GNOME_Evolution_Addressbook_Success || status == GNOME_Evolution_Addressbook_InvalidServerVersion)
 			e_data_book_report_writable (book, backend->priv->writable);
 			e_data_book_report_connection_status (book, backend->priv->online);
+
+		e_data_book_respond_open (book, opid, status);
 	}
 
 	g_mutex_unlock (backend->priv->open_mutex);
diff --git a/addressbook/libedata-book/e-data-book-factory.c b/addressbook/libedata-book/e-data-book-factory.c
index 0673c9c..d5e891f 100644
--- a/addressbook/libedata-book/e-data-book-factory.c
+++ b/addressbook/libedata-book/e-data-book-factory.c
@@ -141,15 +141,13 @@ e_data_book_factory_register_backends (EDataBookFactory *book_factory)
 static void
 set_backend_online_status (gpointer key, gpointer value, gpointer data)
 {
-#if 0
-	GList *books = (GList *) value;
+	GList *books;
 	EBookBackend *backend = NULL;
 
-	while (books = g_list_next (books)) {
+	for (books = (GList *) value; books; books = g_list_next (books)) {
 		backend =  E_BOOK_BACKEND (books->data);
 		e_book_backend_set_mode (backend,  GPOINTER_TO_INT (data));
 	}
-#endif
 }
 
 /**



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]