diff options
author | JP Rosevear <jpr@ximian.com> | 2001-05-03 03:09:47 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2001-05-03 03:09:47 +0800 |
commit | 80e3acea85331b4e8e9b786ae0c0ee8abdf18d14 (patch) | |
tree | 568bccdae583e871d3b168c99c8a48b04142c563 | |
parent | 76808d38e9044a7d9bf8f7d20f9900955a10ca9b (diff) | |
download | gsoc2013-evolution-80e3acea85331b4e8e9b786ae0c0ee8abdf18d14.tar.gz gsoc2013-evolution-80e3acea85331b4e8e9b786ae0c0ee8abdf18d14.tar.zst gsoc2013-evolution-80e3acea85331b4e8e9b786ae0c0ee8abdf18d14.zip |
unref the book if the view is being destroyed
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
svn path=/trunk/; revision=9647
-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); |