aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook')
-rw-r--r--addressbook/ChangeLog7
-rw-r--r--addressbook/backend/pas/pas-book-factory.c18
2 files changed, 24 insertions, 1 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index 9bb07ebb63..cade85649a 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,5 +1,12 @@
2002-02-18 Chris Toshok <toshok@ximian.com>
+ * backend/pas/pas-book-factory.c
+ (pas_book_factory_process_request): if the load_uri fails, notify
+ the listener that the repository is offline. (partial fix for bug
+ 20347)
+
+2002-02-18 Chris Toshok <toshok@ximian.com>
+
* backend/pas/pas-backend-ldap.c (create_dn_from_ecard): escape
commas in the dn, since they're used by ldap to specify the node's
placement in the tree. (fixes bug 20089)
diff --git a/addressbook/backend/pas/pas-book-factory.c b/addressbook/backend/pas/pas-book-factory.c
index 76e73ceca0..43bb69a35c 100644
--- a/addressbook/backend/pas/pas-book-factory.c
+++ b/addressbook/backend/pas/pas-book-factory.c
@@ -282,8 +282,24 @@ pas_book_factory_process_request (PASBookFactory *factory,
if (!backend)
goto out;
- if (!pas_backend_load_uri (backend, uri))
+ if (!pas_backend_load_uri (backend, uri) ) {
+ /* tell the listener that we failed to open the book */
+ CORBA_exception_init (&ev);
+
+ GNOME_Evolution_Addressbook_BookListener_notifyBookOpened (
+ listener, GNOME_Evolution_Addressbook_BookListener_RepositoryOffline,
+ CORBA_OBJECT_NIL,
+ &ev);
+
+ if (ev._major != CORBA_NO_EXCEPTION) {
+ g_warning ("pas_book_respond_open: Exception "
+ "responding to BookListener!\n");
+ }
+
+ CORBA_exception_free (&ev);
+
goto out;
+ }
pas_backend_add_client (backend, listener);