aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend/pas/pas-book-factory.c
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/backend/pas/pas-book-factory.c')
-rw-r--r--addressbook/backend/pas/pas-book-factory.c18
1 files changed, 17 insertions, 1 deletions
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);