aboutsummaryrefslogtreecommitdiffstats
path: root/shell/evolution-shell-client.c
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2003-01-10 07:59:39 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2003-01-10 07:59:39 +0800
commit921933660b1dba5a93e98d7b244fcd439896ae9f (patch)
treeb680c746d5c269c33d430fe1dc2662e9c16fda4f /shell/evolution-shell-client.c
parentc002a2ab81f9a2ef782309f455e1232bbe5543a9 (diff)
downloadgsoc2013-evolution-921933660b1dba5a93e98d7b244fcd439896ae9f.tar
gsoc2013-evolution-921933660b1dba5a93e98d7b244fcd439896ae9f.tar.gz
gsoc2013-evolution-921933660b1dba5a93e98d7b244fcd439896ae9f.tar.bz2
gsoc2013-evolution-921933660b1dba5a93e98d7b244fcd439896ae9f.tar.lz
gsoc2013-evolution-921933660b1dba5a93e98d7b244fcd439896ae9f.tar.xz
gsoc2013-evolution-921933660b1dba5a93e98d7b244fcd439896ae9f.tar.zst
gsoc2013-evolution-921933660b1dba5a93e98d7b244fcd439896ae9f.zip
Properly reset activity_interface to NULL.
* evolution-shell-client.c (impl_dispose): Properly reset activity_interface to NULL. (evolution_shell_client_construct): Ref the shell object here. * e-shell.c (view_weak_notify): Ref the shell since it's being passed to notify_no_views_left_idle_cb as the data. (notify_no_views_left_idle_cb): Only unref the shell here. svn path=/trunk/; revision=19381
Diffstat (limited to 'shell/evolution-shell-client.c')
-rw-r--r--shell/evolution-shell-client.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/shell/evolution-shell-client.c b/shell/evolution-shell-client.c
index b0b6101279..e5cabc34e4 100644
--- a/shell/evolution-shell-client.c
+++ b/shell/evolution-shell-client.c
@@ -297,6 +297,7 @@ impl_dispose (GObject *object)
"Error unreffing the ::Activity interface -- %s\n",
BONOBO_EX_REPOID (&ev));
CORBA_Object_release (priv->activity_interface, &ev);
+ priv->activity_interface = CORBA_OBJECT_NIL;
}
if (priv->shortcuts_interface != CORBA_OBJECT_NIL) {
@@ -383,6 +384,7 @@ evolution_shell_client_construct (EvolutionShellClient *shell_client,
GNOME_Evolution_Shell corba_shell)
{
EvolutionShellClientPrivate *priv;
+ CORBA_Environment ev;
g_return_if_fail (shell_client != NULL);
g_return_if_fail (EVOLUTION_IS_SHELL_CLIENT (shell_client));
@@ -391,10 +393,12 @@ evolution_shell_client_construct (EvolutionShellClient *shell_client,
priv = shell_client->priv;
g_return_if_fail (priv->activity_interface == CORBA_OBJECT_NIL);
- /* (Notice that we don't ref or duplicate, since this is what the old
- BonoboObject did.) */
priv->corba_objref = corba_shell;
+ CORBA_exception_init (&ev);
+ Bonobo_Unknown_ref (priv->corba_objref, &ev);
+ CORBA_exception_free (&ev);
+
priv->activity_interface = query_shell_interface (shell_client, "IDL:GNOME/Evolution/Activity:1.0");
priv->shortcuts_interface = query_shell_interface (shell_client, "IDL:GNOME/Evolution/Shortcuts:1.0");
priv->storage_registry_interface = query_shell_interface (shell_client, "IDL:GNOME/Evolution/StorageRegistry:1.0");