aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRodrigo Moya <rodrigo@ximian.com>2002-09-23 19:49:37 +0800
committerRodrigo Moya <rodrigo@src.gnome.org>2002-09-23 19:49:37 +0800
commitb6adbdba7deac2a78987be98f71f0c19efb2c4bc (patch)
tree90093aca58df5a0c2912e1643bf996b4104bd9fe
parentbfc419ce4b36a61a4f082a2373c8efc574dd1e31 (diff)
downloadgsoc2013-evolution-b6adbdba7deac2a78987be98f71f0c19efb2c4bc.tar.gz
gsoc2013-evolution-b6adbdba7deac2a78987be98f71f0c19efb2c4bc.tar.zst
gsoc2013-evolution-b6adbdba7deac2a78987be98f71f0c19efb2c4bc.zip
gtk_object_ref the component listener before emitting the "component_died"
2002-09-23 Rodrigo Moya <rodrigo@ximian.com> * e-component-listener.c (ping_component_callback): gtk_object_ref the component listener before emitting the "component_died" signal, since in most cases, the component listener will be destroyed in the callbacks for that signal. svn path=/trunk/; revision=18164
-rw-r--r--e-util/ChangeLog7
-rw-r--r--e-util/e-component-listener.c3
2 files changed, 10 insertions, 0 deletions
diff --git a/e-util/ChangeLog b/e-util/ChangeLog
index 6fbc641f9a..1ea8456bbd 100644
--- a/e-util/ChangeLog
+++ b/e-util/ChangeLog
@@ -1,3 +1,10 @@
+2002-09-23 Rodrigo Moya <rodrigo@ximian.com>
+
+ * e-component-listener.c (ping_component_callback): gtk_object_ref the
+ component listener before emitting the "component_died" signal, since
+ in most cases, the component listener will be destroyed in the
+ callbacks for that signal.
+
2002-09-22 Dan Winship <danw@ximian.com>
* e-config-listener.c: Fix some non-ANSI switch statements
diff --git a/e-util/e-component-listener.c b/e-util/e-component-listener.c
index d58f44e577..9e5ff77ef1 100644
--- a/e-util/e-component-listener.c
+++ b/e-util/e-component-listener.c
@@ -143,11 +143,14 @@ ping_component_callback (gpointer user_data)
out:
/* the component has died, so we notify and close the timeout */
+ gtk_object_ref (GTK_OBJECT (cl));
gtk_signal_emit (GTK_OBJECT (cl), comp_listener_signals[COMPONENT_DIED]);
cl->priv->component = CORBA_OBJECT_NIL;
cl->priv->ping_timeout_id = -1;
+ gtk_object_unref (GTK_OBJECT (cl));
+
return FALSE;
}