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
This commit is contained in:
JP Rosevear
2001-05-02 19:09:47 +00:00
committed by JP Rosevear
parent 76808d38e9
commit 80e3acea85
3 changed files with 23 additions and 0 deletions

View File

@ -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

View File

@ -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;
}

View File

@ -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);