diff options
author | Rodrigo Moya <rodrigo@ximian.com> | 2002-09-23 19:49:37 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@src.gnome.org> | 2002-09-23 19:49:37 +0800 |
commit | b6adbdba7deac2a78987be98f71f0c19efb2c4bc (patch) | |
tree | 90093aca58df5a0c2912e1643bf996b4104bd9fe | |
parent | bfc419ce4b36a61a4f082a2373c8efc574dd1e31 (diff) | |
download | gsoc2013-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/ChangeLog | 7 | ||||
-rw-r--r-- | e-util/e-component-listener.c | 3 |
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; } |