aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/ChangeLog6
-rw-r--r--shell/e-shell-offline-handler.c7
2 files changed, 12 insertions, 1 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index 78562a3b96..d3fd2a1252 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,3 +1,9 @@
+2001-08-03 Ettore Perazzoli <ettore@ximian.com>
+
+ * e-shell-offline-handler.c (component_info_free): Also call
+ `PortableServer_POA_deactivate_object()' on the progress listener
+ object so it gets deactivated.
+
2001-08-02 Ettore Perazzoli <ettore@ximian.com>
* e-shell.c (e_shell_construct): Spit out a warning if we cannot
diff --git a/shell/e-shell-offline-handler.c b/shell/e-shell-offline-handler.c
index b7680f0313..2495edffac 100644
--- a/shell/e-shell-offline-handler.c
+++ b/shell/e-shell-offline-handler.c
@@ -278,12 +278,15 @@ static void
component_info_free (ComponentInfo *component_info)
{
CORBA_Environment ev;
+ PortableServer_ObjectId *oid;
CORBA_exception_init (&ev);
g_free (component_info->id);
- CORBA_Object_release (component_info->offline_interface, &ev);
+ oid = PortableServer_POA_servant_to_id (bonobo_poa (), component_info->progress_listener_servant, &ev);
+ PortableServer_POA_deactivate_object (bonobo_poa (), oid, &ev);
+ CORBA_free (oid);
POA_GNOME_Evolution_OfflineProgressListener__fini
((POA_GNOME_Evolution_OfflineProgressListener *) component_info->progress_listener_servant, &ev);
@@ -291,6 +294,8 @@ component_info_free (ComponentInfo *component_info)
CORBA_Object_release (component_info->progress_listener_interface, &ev);
+ CORBA_Object_release (component_info->offline_interface, &ev);
+
CORBA_free (component_info->active_connection_list);
g_free (component_info);