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
This commit is contained in:
Ettore Perazzoli
2001-08-03 08:50:33 +00:00
parent bb98a04df3
commit 92ef30b420
2 changed files with 20 additions and 8 deletions

View File

@ -1,3 +1,10 @@
2001-08-03 Ettore Perazzoli <ettore@ximian.com>
* 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].
2001-08-03 Ettore Perazzoli <ettore@ximian.com> 2001-08-03 Ettore Perazzoli <ettore@ximian.com>
[Fixes #4663, startup crash.] [Fixes #4663, startup crash.]

View File

@ -134,6 +134,19 @@ progress_listener_servant_new (EShellOfflineHandler *offline_handler,
static void static void
progress_listener_servant_free (OfflineProgressListenerServant *servant) 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->component_id);
g_free (servant); g_free (servant);
} }
@ -278,20 +291,12 @@ static void
component_info_free (ComponentInfo *component_info) component_info_free (ComponentInfo *component_info)
{ {
CORBA_Environment ev; CORBA_Environment ev;
PortableServer_ObjectId *oid;
CORBA_exception_init (&ev); CORBA_exception_init (&ev);
g_free (component_info->id); 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); progress_listener_servant_free (component_info->progress_listener_servant);
CORBA_Object_release (component_info->progress_listener_interface, &ev); CORBA_Object_release (component_info->progress_listener_interface, &ev);
CORBA_Object_release (component_info->offline_interface, &ev); CORBA_Object_release (component_info->offline_interface, &ev);