diff options
-rw-r--r-- | shell/ChangeLog | 10 | ||||
-rw-r--r-- | shell/e-shell.c | 9 |
2 files changed, 15 insertions, 4 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index 378718b44f..cd6bc43ea5 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,13 @@ +2006-06-17 Tor Lillqvist <tml@novell.com> + + * e-shell.c (impl_finalize): Don't call + bonobo_activation_active_server_unregister() here, it's too late, + the EShell Bonobo object has already been deactivated and its + associated CORBA object is NULL. + (notify_no_windows_left_idle_cb): Instead, call + bonobo_activation_active_server_unregister() here, when the EShell + Bonobo object is still fully active. + 2006-06-19 Srinivasa Ragavan <sragavan@novell.com> ** Fixes bug #252814 diff --git a/shell/e-shell.c b/shell/e-shell.c index 396ab8a4bd..962fc13c2c 100644 --- a/shell/e-shell.c +++ b/shell/e-shell.c @@ -360,13 +360,18 @@ static gboolean notify_no_windows_left_idle_cb (void *data) { EShell *shell; + EShellPrivate *priv; shell = E_SHELL (data); + priv = shell->priv; set_interactive (shell, FALSE); g_signal_emit (shell, signals [NO_WINDOWS_LEFT], 0); + if (priv->iid != NULL) + bonobo_activation_active_server_unregister (priv->iid, + bonobo_object_corba_objref (BONOBO_OBJECT (shell))); bonobo_object_unref (BONOBO_OBJECT (shell)); return FALSE; @@ -468,10 +473,6 @@ impl_finalize (GObject *object) shell = E_SHELL (object); priv = shell->priv; - if (priv->iid != NULL) - bonobo_activation_active_server_unregister (priv->iid, - bonobo_object_corba_objref (BONOBO_OBJECT (shell))); - e_free_string_list (priv->crash_type_names); g_free (priv); |