From 80e3acea85331b4e8e9b786ae0c0ee8abdf18d14 Mon Sep 17 00:00:00 2001 From: JP Rosevear Date: Wed, 2 May 2001 19:09:47 +0000 Subject: unref the book if the view is being destroyed 2001-05-02 JP Rosevear * 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 svn path=/trunk/; revision=9647 --- addressbook/ChangeLog | 12 ++++++++++++ addressbook/backend/pas/pas-backend-file.c | 3 +++ addressbook/gui/component/addressbook.c | 8 ++++++++ 3 files changed, 23 insertions(+) (limited to 'addressbook') 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 + + * 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 * 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); -- cgit v1.2.3