aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calendar/ChangeLog4
-rw-r--r--calendar/cal-client/cal-query.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index 722ed04711..f65572ecf9 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,5 +1,9 @@
2002-09-24 Rodrigo Moya <rodrigo@ximian.com>
+ * cal-client/cal-query.c (cal_query_destroy): unref the query
+ since now the query object on the server keeps a copy of it and
+ must know when the listener is no longer valid.
+
* pcs/query.c (listener_died_cb): unref the QueryListener object.
(query_construct): create an EComponentListener for the non-cached
queries' listeners also.
diff --git a/calendar/cal-client/cal-query.c b/calendar/cal-client/cal-query.c
index 97e7b81240..e1bef97e3c 100644
--- a/calendar/cal-client/cal-query.c
+++ b/calendar/cal-client/cal-query.c
@@ -180,8 +180,9 @@ cal_query_destroy (GtkObject *object)
query = CAL_QUERY (object);
priv = query->priv;
- /* The server unrefs the query listener, so we just NULL it out here */
+ /* The server keeps a copy of the query listener, so we must unref it */
query_listener_stop_notification (priv->ql);
+ bonobo_object_unref (BONOBO_OBJECT (priv->ql));
priv->ql = NULL;
if (priv->corba_query != CORBA_OBJECT_NIL) {