[The following should fix #13802, crash on exit.]

* evolution-shell-component.c (impl_unsetOwner): Set the ping
timeout ID to -1 when removing the source.
(impl_destroy): Likewise.
(impl_unsetOwner): Remove the timeout before unreffing, not after
unreffing.

svn path=/trunk/; revision=14304
This commit is contained in:
Ettore Perazzoli
2001-10-28 22:30:59 +00:00
parent d16418158d
commit a2f5e5b0f4
2 changed files with 18 additions and 4 deletions

View File

@ -407,12 +407,14 @@ impl_unsetOwner (PortableServer_Servant servant,
return;
}
if (priv->ping_timeout_id != -1) {
g_source_remove (priv->ping_timeout_id);
priv->ping_timeout_id = -1;
}
bonobo_object_unref (BONOBO_OBJECT (priv->owner_client));
priv->owner_client = NULL;
if (priv->ping_timeout_id != -1)
g_source_remove (priv->ping_timeout_id);
gtk_signal_emit (GTK_OBJECT (shell_component), signals[OWNER_UNSET]);
}
@ -653,8 +655,10 @@ destroy (GtkObject *object)
priv = shell_component->priv;
if (priv->ping_timeout_id != -1)
if (priv->ping_timeout_id != -1) {
g_source_remove (priv->ping_timeout_id);
priv->ping_timeout_id = -1;
}
CORBA_exception_init (&ev);