aboutsummaryrefslogtreecommitdiffstats
path: root/shell/evolution-shell-component.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/evolution-shell-component.c')
-rw-r--r--shell/evolution-shell-component.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/shell/evolution-shell-component.c b/shell/evolution-shell-component.c
index d110a424d7..4069086c85 100644
--- a/shell/evolution-shell-component.c
+++ b/shell/evolution-shell-component.c
@@ -127,6 +127,7 @@ impl_ShellComponent_set_owner (PortableServer_Servant servant,
BonoboObject *bonobo_object;
EvolutionShellComponent *shell_component;
EvolutionShellComponentPrivate *priv;
+ Evolution_Shell shell_duplicate;
bonobo_object = bonobo_object_from_servant (servant);
shell_component = EVOLUTION_SHELL_COMPONENT (bonobo_object);
@@ -138,11 +139,12 @@ impl_ShellComponent_set_owner (PortableServer_Servant servant,
return;
}
- priv->owner_client = evolution_shell_client_new (shell);
+ shell_duplicate = CORBA_Object_duplicate (shell, ev);
- g_print ("%s -- %p\n", __FUNCTION__, shell);
-
- gtk_signal_emit (GTK_OBJECT (shell_component), signals[OWNER_SET], priv->owner_client);
+ if (ev->_major == CORBA_NO_EXCEPTION) {
+ priv->owner_client = evolution_shell_client_new (shell_duplicate);
+ gtk_signal_emit (GTK_OBJECT (shell_component), signals[OWNER_SET], priv->owner_client);
+ }
}
static void