aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/pcs/cal.c
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@ximian.com>2001-08-08 08:22:07 +0800
committerFederico Mena Quintero <federico@src.gnome.org>2001-08-08 08:22:07 +0800
commit26cbf6cd5fb66c8c490bbb4d148b811139ec9210 (patch)
treec11413db3b101217b90b396023ab9852024bef65 /calendar/pcs/cal.c
parentff41087ad40d0527b53cd0815419978a3df5995c (diff)
downloadgsoc2013-evolution-26cbf6cd5fb66c8c490bbb4d148b811139ec9210.tar.gz
gsoc2013-evolution-26cbf6cd5fb66c8c490bbb4d148b811139ec9210.tar.zst
gsoc2013-evolution-26cbf6cd5fb66c8c490bbb4d148b811139ec9210.zip
New function to stop further notification from happening.
2001-08-07 Federico Mena Quintero <federico@ximian.com> * 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
Diffstat (limited to 'calendar/pcs/cal.c')
-rw-r--r--calendar/pcs/cal.c3
1 files changed, 2 insertions, 1 deletions
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);