diff options
author | Christopher James Lahey <clahey@helixcode.com> | 2000-05-02 04:58:15 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2000-05-02 04:58:15 +0800 |
commit | 79e4b347761c3cd897f2e9ed0ee7e25231ae49f3 (patch) | |
tree | be27f5db6e20e0a9f4703d1bf6ad83e62c5e69bf /addressbook/backend | |
parent | edb8c5850a180be4d015a90da44cf2581fb27ba9 (diff) | |
download | gsoc2013-evolution-79e4b347761c3cd897f2e9ed0ee7e25231ae49f3.tar.gz gsoc2013-evolution-79e4b347761c3cd897f2e9ed0ee7e25231ae49f3.tar.zst gsoc2013-evolution-79e4b347761c3cd897f2e9ed0ee7e25231ae49f3.zip |
Add back in the CORBA_Object_release.
2000-05-01 Christopher James Lahey <clahey@helixcode.com>
* backend/pas/pas-book-factory.c: Add back in the
CORBA_Object_release.
* backend/pas/pas-book.c: Properly duplicate and release the
listener passed to us.
svn path=/trunk/; revision=2720
Diffstat (limited to 'addressbook/backend')
-rw-r--r-- | addressbook/backend/pas/pas-book-factory.c | 3 | ||||
-rw-r--r-- | addressbook/backend/pas/pas-book.c | 17 |
2 files changed, 18 insertions, 2 deletions
diff --git a/addressbook/backend/pas/pas-book-factory.c b/addressbook/backend/pas/pas-book-factory.c index 78b031233a..cd7a8d3ed9 100644 --- a/addressbook/backend/pas/pas-book-factory.c +++ b/addressbook/backend/pas/pas-book-factory.c @@ -269,7 +269,7 @@ pas_book_factory_process_request (PASBookFactory *factory, out: g_free (uri); -#if 0 + CORBA_exception_init (&ev); CORBA_Object_release (listener, &ev); @@ -277,7 +277,6 @@ pas_book_factory_process_request (PASBookFactory *factory, g_message ("pas_book_factory_process_request(): could not release the listener"); CORBA_exception_free (&ev); -#endif } static gboolean diff --git a/addressbook/backend/pas/pas-book.c b/addressbook/backend/pas/pas-book.c index d6e9ff55ac..2601d3d9d0 100644 --- a/addressbook/backend/pas/pas-book.c +++ b/addressbook/backend/pas/pas-book.c @@ -487,6 +487,14 @@ pas_book_construct (PASBook *book, bonobo_object_construct (BONOBO_OBJECT (book), obj); + CORBA_exception_init (&ev); + book->priv->listener = CORBA_Object_duplicate (listener, &ev); + + if (ev._major != CORBA_NO_EXCEPTION) + g_message ("pas_book_construct(): could not duplicate the listener"); + + CORBA_exception_free (&ev); + book->priv->listener = listener; book->priv->get_vcard = get_vcard; book->priv->backend = backend; @@ -523,6 +531,7 @@ pas_book_destroy (GtkObject *object) { PASBook *book = PAS_BOOK (object); GList *l; + CORBA_Environment ev; for (l = book->priv->request_queue; l != NULL; l = l->next) { PASRequest *req = l->data; @@ -533,6 +542,14 @@ pas_book_destroy (GtkObject *object) } g_list_free (book->priv->request_queue); + CORBA_exception_init (&ev); + CORBA_Object_release (book->priv->listener, &ev); + + if (ev._major != CORBA_NO_EXCEPTION) + g_message ("pas_book_construct(): could not release the listener"); + + CORBA_exception_free (&ev); + g_free (book->priv); GTK_OBJECT_CLASS (pas_book_parent_class)->destroy (object); |