diff options
Diffstat (limited to 'shell/e-shell-offline-handler.c')
-rw-r--r-- | shell/e-shell-offline-handler.c | 7 |
1 files changed, 6 insertions, 1 deletions
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); |