[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:
@ -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);
|
||||
|
||||
|
Reference in New Issue
Block a user