aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/backend')
-rw-r--r--addressbook/backend/pas/pas-book-view.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/addressbook/backend/pas/pas-book-view.c b/addressbook/backend/pas/pas-book-view.c
index 4e1c8697aa..3bf35f439f 100644
--- a/addressbook/backend/pas/pas-book-view.c
+++ b/addressbook/backend/pas/pas-book-view.c
@@ -167,6 +167,22 @@ pas_book_view_construct (PASBookView *book_view,
return FALSE;
}
+ CORBA_Object_duplicate (listener, &ev);
+ if (ev._major != CORBA_NO_EXCEPTION) {
+ g_warning("Unable to duplicate listener object in pas-book-view.c\n");
+ CORBA_exception_free (&ev);
+
+ return FALSE;
+ }
+
+ Evolution_BookViewListener_ref (listener, &ev);
+ if (ev._major != CORBA_NO_EXCEPTION) {
+ g_warning("Unable to ref listener object in pas-book-view.c\n");
+ CORBA_exception_free (&ev);
+
+ return FALSE;
+ }
+
CORBA_exception_free (&ev);
obj = bonobo_object_activate_servant (BONOBO_OBJECT (book_view), servant);
@@ -208,6 +224,27 @@ static void
pas_book_view_destroy (GtkObject *object)
{
PASBookView *book_view = PAS_BOOK_VIEW (object);
+ CORBA_Environment ev;
+
+ CORBA_exception_init (&ev);
+
+ Evolution_BookViewListener_unref (book_view->priv->listener, &ev);
+ if (ev._major != CORBA_NO_EXCEPTION) {
+ g_warning("Unable to unref listener object in pas-book-view.c\n");
+ CORBA_exception_free (&ev);
+
+ return;
+ }
+
+ CORBA_Object_release (book_view->priv->listener, &ev);
+ if (ev._major != CORBA_NO_EXCEPTION) {
+ g_warning("Unable to release listener object in pas-book-view.c\n");
+ CORBA_exception_free (&ev);
+
+ return;
+ }
+
+ CORBA_exception_free (&ev);
g_free (book_view->priv);