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:
@ -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.]
|
||||||
|
@ -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);
|
||||||
|
Reference in New Issue
Block a user