diff options
-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; } |