aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addressbook/ChangeLog5
-rw-r--r--addressbook/backend/ebook/e-book.c12
2 files changed, 11 insertions, 6 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index 29616ad745..24a87ee8d6 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,3 +1,8 @@
+2003-08-12 Rodrigo Moya <rodrigo@ximian.com>
+
+ * backend/ebook/e-book.c (e_book_dispose): unref the
+ EComponentListener before unloading the CORBA object.
+
2003-08-12 Hans Petter Jansson <hpj@ximian.com>
* backend/ebook/e-destination.c (e_destination_dispose): Chain.
diff --git a/addressbook/backend/ebook/e-book.c b/addressbook/backend/ebook/e-book.c
index b4e5b80fbd..08a0aac995 100644
--- a/addressbook/backend/ebook/e-book.c
+++ b/addressbook/backend/ebook/e-book.c
@@ -1592,6 +1592,12 @@ e_book_dispose (GObject *object)
CORBA_Environment ev;
GList *l;
+ if (book->priv->comp_listener) {
+ g_signal_handler_disconnect (book->priv->comp_listener, book->priv->died_signal);
+ g_object_unref (book->priv->comp_listener);
+ book->priv->comp_listener = NULL;
+ }
+
if (book->priv->load_state == URILoaded)
e_book_unload_uri (book);
@@ -1615,12 +1621,6 @@ e_book_dispose (GObject *object)
book->priv->listener = NULL;
}
- if (book->priv->comp_listener) {
- g_signal_handler_disconnect (book->priv->comp_listener, book->priv->died_signal);
- g_object_unref (book->priv->comp_listener);
- book->priv->comp_listener = NULL;
- }
-
g_free (book->priv->cap);
g_free (book->priv->uri);