From 26cbf6cd5fb66c8c490bbb4d148b811139ec9210 Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Wed, 8 Aug 2001 00:22:07 +0000 Subject: New function to stop further notification from happening. 2001-08-07 Federico Mena Quintero * cal-client/cal-listener.c (cal_listener_stop_notification): New function to stop further notification from happening. (impl_notifyCalOpened): Do not notify if requested. (impl_notifyObjUpdated): Likewise. (impl_notifyObjRemoved): Likewise. (impl_notifyCategoriesChanged): Likewise. (CalListenerPrivate): Do not keep a reference to the server-side Cal. This would create a circular reference since the server keeps a reference to the listener. (cal_listener_destroy): Likewise. (impl_notifyCalOpened): Likewise. * pcs/cal.c (cal_destroy): bonobo_object_release_unref() the listener. * cal-client/cal-client.c (cal_client_destroy): Ask the listener to stop notifications. Also, do not unref it as the server does that itself when we unref the Cal. svn path=/trunk/; revision=11758 --- calendar/pcs/cal.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'calendar/pcs/cal.c') diff --git a/calendar/pcs/cal.c b/calendar/pcs/cal.c index cb92f391b5..213ad35c31 100644 --- a/calendar/pcs/cal.c +++ b/calendar/pcs/cal.c @@ -554,10 +554,11 @@ cal_destroy (GtkObject *object) priv->backend = NULL; CORBA_exception_init (&ev); - CORBA_Object_release (priv->listener, &ev); + bonobo_object_release_unref (priv->listener, &ev); if (ev._major != CORBA_NO_EXCEPTION) g_message ("cal_destroy(): could not release the listener"); + priv->listener = NULL; CORBA_exception_free (&ev); g_free (priv); -- cgit v1.2.3