diff options
author | Chris Toshok <toshok@ximian.com> | 2001-11-10 08:58:57 +0800 |
---|---|---|
committer | Chris Toshok <toshok@src.gnome.org> | 2001-11-10 08:58:57 +0800 |
commit | 6f6fe0e2eb8d6daa5312717759beb8e128f4e567 (patch) | |
tree | 61df6dbfcda9b15407413263ee5201f2b9e96ee5 | |
parent | 845369568d2f9af34a1a6e7e4ba08b0f0cd6964d (diff) | |
download | gsoc2013-evolution-6f6fe0e2eb8d6daa5312717759beb8e128f4e567.tar.gz gsoc2013-evolution-6f6fe0e2eb8d6daa5312717759beb8e128f4e567.tar.zst gsoc2013-evolution-6f6fe0e2eb8d6daa5312717759beb8e128f4e567.zip |
[ Fixes Ximian bug #14687 ] backend/pas/pas-backend-file.c
2001-11-09 Chris Toshok <toshok@ximian.com>
[ Fixes Ximian bug #14687 ]
* backend/pas/pas-backend-file.c
* backend/pas/pas-book-factory.c
(pas_book_factory_process_request): do load_uri before add_client,
so we know if the load actually worked (add_client uses this
information to respond to the new client.) before this change,
the client would still think the book was in a useful state even
if the load_uri failed.
* backend/pas/pas-backend-ldap.c (pas_backend_ldap_add_client): if
the we're not connected, say so.
* backend/pas/pas-backend-file.c (pas_backend_file_add_client):
same.
(pas_backend_file_load_uri): don't report_writable here,
add_client does it. was only needed before because of the
improper ordering in pas-book-factory.c above.
svn path=/trunk/; revision=14655
-rw-r--r-- | addressbook/ChangeLog | 21 | ||||
-rw-r--r-- | addressbook/backend/pas/pas-backend-file.c | 13 | ||||
-rw-r--r-- | addressbook/backend/pas/pas-backend-ldap.c | 3 | ||||
-rw-r--r-- | addressbook/backend/pas/pas-book-factory.c | 4 |
4 files changed, 25 insertions, 16 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog index a0fcb2b711..935ce550ac 100644 --- a/addressbook/ChangeLog +++ b/addressbook/ChangeLog @@ -1,5 +1,26 @@ 2001-11-09 Chris Toshok <toshok@ximian.com> + [ Fixes Ximian bug #14687 ] + * backend/pas/pas-backend-file.c + + * backend/pas/pas-book-factory.c + (pas_book_factory_process_request): do load_uri before add_client, + so we know if the load actually worked (add_client uses this + information to respond to the new client.) before this change, + the client would still think the book was in a useful state even + if the load_uri failed. + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_add_client): if + the we're not connected, say so. + + * backend/pas/pas-backend-file.c (pas_backend_file_add_client): + same. + (pas_backend_file_load_uri): don't report_writable here, + add_client does it. was only needed before because of the + improper ordering in pas-book-factory.c above. + +2001-11-09 Chris Toshok <toshok@ximian.com> + [ Fixes Ximian bug #14646 ] * gui/component/addressbook.c (addressbook_default_book_open): new function. if the default_book failed to load, load the local diff --git a/addressbook/backend/pas/pas-backend-file.c b/addressbook/backend/pas/pas-backend-file.c index 25c38888a4..56c8d545cc 100644 --- a/addressbook/backend/pas/pas-backend-file.c +++ b/addressbook/backend/pas/pas-backend-file.c @@ -1236,7 +1236,6 @@ pas_backend_file_load_uri (PASBackend *backend, PASBackendFile *bf = PAS_BACKEND_FILE (backend); char *filename; gboolean writable = FALSE; - GList *l; int db_error; DB *db; int major, minor, patch; @@ -1326,13 +1325,6 @@ pas_backend_file_load_uri (PASBackend *backend, g_free(bf->priv->uri); bf->priv->uri = g_strdup (uri); - /* report the writable status of the book to all its clients */ - for (l = bf->priv->clients; l; l = g_list_next (l)) { - PASBook *book = l->data; - - pas_book_report_writable (book, writable); - } - return TRUE; } @@ -1386,11 +1378,8 @@ pas_backend_file_add_client (PASBackend *backend, if (bf->priv->writable) pas_book_report_writable (book, bf->priv->writable); } else { - /* Open the book. */ pas_book_respond_open ( - book, GNOME_Evolution_Addressbook_BookListener_Success); - if (bf->priv->writable) - pas_book_report_writable (book, bf->priv->writable); + book, GNOME_Evolution_Addressbook_BookListener_OtherError); } bonobo_object_unref (BONOBO_OBJECT (book)); diff --git a/addressbook/backend/pas/pas-backend-ldap.c b/addressbook/backend/pas/pas-backend-ldap.c index 83e2b85971..3b0cb673af 100644 --- a/addressbook/backend/pas/pas-backend-ldap.c +++ b/addressbook/backend/pas/pas-backend-ldap.c @@ -2549,9 +2549,8 @@ pas_backend_ldap_add_client (PASBackend *backend, pas_book_respond_open ( book, GNOME_Evolution_Addressbook_BookListener_Success); } else { - /* Open the book. */ pas_book_respond_open ( - book, GNOME_Evolution_Addressbook_BookListener_Success); + book, GNOME_Evolution_Addressbook_BookListener_OtherError); } pas_book_report_writable (book, bl->priv->writable); diff --git a/addressbook/backend/pas/pas-book-factory.c b/addressbook/backend/pas/pas-book-factory.c index 6d4bcd8eb1..76e73ceca0 100644 --- a/addressbook/backend/pas/pas-book-factory.c +++ b/addressbook/backend/pas/pas-book-factory.c @@ -282,10 +282,10 @@ pas_book_factory_process_request (PASBookFactory *factory, if (!backend) goto out; - if (!pas_backend_add_client (backend, listener)) + if (!pas_backend_load_uri (backend, uri)) goto out; - pas_backend_load_uri (backend, uri); + pas_backend_add_client (backend, listener); goto out; } |