diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ChangeLog | 5 | ||||
-rw-r--r-- | shell/e-shell.c | 12 |
2 files changed, 15 insertions, 2 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index 6819243d8f..1ac38b58e9 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,8 @@ +2001-10-17 Ettore Perazzoli <ettore@ximian.com> + + * e-shell.c (set_owner_on_components): Re-set the owner on the + component that raised OldOwnerHasDied. + 2001-10-15 Iain Holmes <iain@ximian.com> * e-shell-startup-wizard.c (prepare_importer_page): Stop the prepare diff --git a/shell/e-shell.c b/shell/e-shell.c index 6d793926af..6e97a6ff01 100644 --- a/shell/e-shell.c +++ b/shell/e-shell.c @@ -698,8 +698,16 @@ set_owner_on_components (EShell *shell) g_warning ("Error setting owner on component %s -- %s", id, evolution_shell_component_result_to_string (result)); - if (result == EVOLUTION_SHELL_COMPONENT_OLDOWNERHASDIED) - e_component_registry_restart_component (priv->component_registry, id); + if (result == EVOLUTION_SHELL_COMPONENT_OLDOWNERHASDIED) { + component_client = e_component_registry_restart_component (priv->component_registry, id); + result = evolution_shell_component_client_set_owner (component_client, corba_shell, + local_directory); + if (result != EVOLUTION_SHELL_COMPONENT_OK) { + g_warning ("Error re-setting owner on component %s -- %s", + id, evolution_shell_component_result_to_string (result)); + /* (At this point, we give up.) */ + } + } } } |