From 92ef30b420e69549c8942c23f4a6dcc1b254b51d Mon Sep 17 00:00:00 2001
From: Ettore Perazzoli <ettore@src.gnome.org>
Date: Fri, 3 Aug 2001 08:50:33 +0000
Subject: Actually __fini the servant and deactivate the object too.

* e-shell-offline-handler.c (progress_listener_servant_free):
Actually __fini the servant and deactivate the object too.
(component_info_free): Updated accordingly [i.e. don't do the
deactivation stuff here].

svn path=/trunk/; revision=11607
---
 shell/e-shell-offline-handler.c | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

(limited to 'shell/e-shell-offline-handler.c')

diff --git a/shell/e-shell-offline-handler.c b/shell/e-shell-offline-handler.c
index 2495edffac..3369de0075 100644
--- a/shell/e-shell-offline-handler.c
+++ b/shell/e-shell-offline-handler.c
@@ -134,6 +134,19 @@ progress_listener_servant_new (EShellOfflineHandler *offline_handler,
 static void
 progress_listener_servant_free (OfflineProgressListenerServant *servant)
 {
+	CORBA_Environment ev;
+	PortableServer_ObjectId *oid;
+
+	CORBA_exception_init (&ev);
+
+	oid = PortableServer_POA_servant_to_id (bonobo_poa (), servant, &ev);
+	PortableServer_POA_deactivate_object (bonobo_poa (), oid, &ev);
+	CORBA_free (oid);
+
+	POA_GNOME_Evolution_OfflineProgressListener__fini ((POA_GNOME_Evolution_OfflineProgressListener *) servant, &ev);
+
+	CORBA_exception_free (&ev);
+
 	g_free (servant->component_id);
 	g_free (servant);
 }
@@ -278,20 +291,12 @@ static void
 component_info_free (ComponentInfo *component_info)
 {
 	CORBA_Environment ev;
-	PortableServer_ObjectId *oid;
 
 	CORBA_exception_init (&ev);
 
 	g_free (component_info->id);
 
-	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);
 	progress_listener_servant_free (component_info->progress_listener_servant);
-
 	CORBA_Object_release (component_info->progress_listener_interface, &ev);
 
 	CORBA_Object_release (component_info->offline_interface, &ev);
-- 
cgit