diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2001-08-03 16:50:33 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2001-08-03 16:50:33 +0800 |
commit | 92ef30b420e69549c8942c23f4a6dcc1b254b51d (patch) | |
tree | ad71980fb28ffa98bb6f8d73cf34e15458e05336 | |
parent | bb98a04df3793d70bdab48d23091668d2f8aba86 (diff) | |
download | gsoc2013-evolution-92ef30b420e69549c8942c23f4a6dcc1b254b51d.tar gsoc2013-evolution-92ef30b420e69549c8942c23f4a6dcc1b254b51d.tar.gz gsoc2013-evolution-92ef30b420e69549c8942c23f4a6dcc1b254b51d.tar.bz2 gsoc2013-evolution-92ef30b420e69549c8942c23f4a6dcc1b254b51d.tar.lz gsoc2013-evolution-92ef30b420e69549c8942c23f4a6dcc1b254b51d.tar.xz gsoc2013-evolution-92ef30b420e69549c8942c23f4a6dcc1b254b51d.tar.zst gsoc2013-evolution-92ef30b420e69549c8942c23f4a6dcc1b254b51d.zip |
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
-rw-r--r-- | shell/ChangeLog | 7 | ||||
-rw-r--r-- | shell/e-shell-offline-handler.c | 21 |
2 files changed, 20 insertions, 8 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index 697bd21fcf..0df1ac280e 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,5 +1,12 @@ 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> + [Fixes #4663, startup crash.] * e-shell.c (e_shell_construct): Make sure the pointer to the db 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); |