diff options
-rw-r--r-- | shell/ChangeLog | 5 | ||||
-rw-r--r-- | shell/e-component-registry.c | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index f078402c8a..d570b7b0f4 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,8 @@ +2002-12-04 Ettore Perazzoli <ettore@ximian.com> + + * e-component-registry.c (component_free): Only invoke + wait_for_corba_object_to_die on components that are out-of-proc. + 2002-11-27 Not Zed <NotZed@Ximian.com> * main.c (show_development_warning): changed to use a gtkdialog diff --git a/shell/e-component-registry.c b/shell/e-component-registry.c index fde3ef7e5d..2a69a974f7 100644 --- a/shell/e-component-registry.c +++ b/shell/e-component-registry.c @@ -1,7 +1,7 @@ /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* e-component-registry.c * - * Copyright (C) 2000 Ximian, Inc. + * Copyright (C) 2000, 2001, 2002 Ximian, Inc. * * This program is free software; you can redistribute it and/or * modify it under the terms of version 2 of the GNU General Public @@ -145,7 +145,10 @@ component_free (Component *component) g_object_unref (component->client); - wait_for_corba_object_to_die ((Bonobo_Unknown) corba_shell_component, component->id); + /* If the component is out-of-proc, wait for the process to die first. */ + if (bonobo_object (ORBit_small_get_servant (corba_shell_component)) == NULL) + wait_for_corba_object_to_die ((Bonobo_Unknown) corba_shell_component, component->id); + CORBA_Object_release (corba_shell_component, &ev); e_free_string_list (component->folder_type_names); |