aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend
diff options
context:
space:
mode:
authorChris Toshok <toshok@ximian.com>2002-02-19 08:20:21 +0800
committerChris Toshok <toshok@src.gnome.org>2002-02-19 08:20:21 +0800
commite17651e6354f0519cbf8c74a205b311e99d55748 (patch)
tree796978c078ccce8a3efdd67cbb64b9290683679e /addressbook/backend
parentd866ac96b14cef65c5d116f5ec4b047025c3be98 (diff)
downloadgsoc2013-evolution-e17651e6354f0519cbf8c74a205b311e99d55748.tar
gsoc2013-evolution-e17651e6354f0519cbf8c74a205b311e99d55748.tar.gz
gsoc2013-evolution-e17651e6354f0519cbf8c74a205b311e99d55748.tar.bz2
gsoc2013-evolution-e17651e6354f0519cbf8c74a205b311e99d55748.tar.lz
gsoc2013-evolution-e17651e6354f0519cbf8c74a205b311e99d55748.tar.xz
gsoc2013-evolution-e17651e6354f0519cbf8c74a205b311e99d55748.tar.zst
gsoc2013-evolution-e17651e6354f0519cbf8c74a205b311e99d55748.zip
if the load_uri fails, notify the listener that the repository is offline.
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) svn path=/trunk/; revision=15758
Diffstat (limited to 'addressbook/backend')
-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);