diff options
-rw-r--r-- | addressbook/ChangeLog | 12 | ||||
-rw-r--r-- | addressbook/backend/pas/pas-backend-file.c | 3 | ||||
-rw-r--r-- | addressbook/gui/component/addressbook.c | 8 |
3 files changed, 23 insertions, 0 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog index c48b3a41c6..ae2e163195 100644 --- a/addressbook/ChangeLog +++ b/addressbook/ChangeLog @@ -1,3 +1,15 @@ +2001-05-02 JP Rosevear <jpr@ximian.com> + + * gui/component/addressbook.c (addressbook_view_free): unref the + book if the view is being destroyed + + * backend/pas/pas-backend-file.c + (pas_backend_file_process_get_book_view): unref the book_view when + we are finished, it is only interesting if someone else has reffed + it now (weak reference) + (pas_backend_file_add_client): unref the book for the same reason + as above + 2001-04-30 JP Rosevear <jpr@ximian.com> * backend/pas/pas-backend-file.c (vcard_matches_search): if the diff --git a/addressbook/backend/pas/pas-backend-file.c b/addressbook/backend/pas/pas-backend-file.c index b681be8f25..fed9718d3e 100644 --- a/addressbook/backend/pas/pas-backend-file.c +++ b/addressbook/backend/pas/pas-backend-file.c @@ -1018,6 +1018,7 @@ pas_backend_file_process_get_book_view (PASBackend *backend, g_free(req->search); CORBA_exception_init(&ev); + bonobo_object_unref (BONOBO_OBJECT (book_view)); bonobo_object_release_unref (req->listener, &ev); if (ev._major != CORBA_NO_EXCEPTION) { @@ -1456,6 +1457,8 @@ pas_backend_file_add_client (PASBackend *backend, pas_book_report_writable (book, bf->priv->writable); } + bonobo_object_unref (BONOBO_OBJECT (book)); + return TRUE; } diff --git a/addressbook/gui/component/addressbook.c b/addressbook/gui/component/addressbook.c index f165217f14..197de831fa 100644 --- a/addressbook/gui/component/addressbook.c +++ b/addressbook/gui/component/addressbook.c @@ -352,6 +352,14 @@ control_activate_cb (BonoboControl *control, static void addressbook_view_free(AddressbookView *view) { + EBook *book; + + gtk_object_get(GTK_OBJECT(view->view), + "book", &book, + NULL); + if (view->uri) + gtk_object_unref (GTK_OBJECT (book)); + if (view->properties) bonobo_object_unref(BONOBO_OBJECT(view->properties)); g_free(view->passwd); |