diff options
Diffstat (limited to 'shell/e-shell.c')
-rw-r--r-- | shell/e-shell.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/shell/e-shell.c b/shell/e-shell.c index ff7a844ae3..69c959fbcb 100644 --- a/shell/e-shell.c +++ b/shell/e-shell.c @@ -204,6 +204,7 @@ set_interactive (EShell *shell, { EShellPrivate *priv; GList *id_list, *p; + Window new_view_xid; priv = shell->priv; @@ -212,6 +213,16 @@ set_interactive (EShell *shell, priv->is_interactive = interactive; + if (interactive) { + GtkWidget *new_view; + + g_return_if_fail (priv->views && priv->views->data); + new_view = priv->views->data; + + new_view_xid = GDK_WINDOW_XWINDOW (new_view->window); + } else + new_view_xid = None; + id_list = e_component_registry_get_id_list (priv->component_registry); for (p = id_list; p != NULL; p = p->next) { EvolutionShellComponentClient *shell_component_client; @@ -225,7 +236,7 @@ set_interactive (EShell *shell, CORBA_exception_init (&ev); - GNOME_Evolution_ShellComponent_interactive (shell_component_objref, interactive, &ev); + GNOME_Evolution_ShellComponent_interactive (shell_component_objref, interactive, new_view_xid, &ev); if (ev._major != CORBA_NO_EXCEPTION) g_warning ("Error changing interactive status of component %s to %s -- %s\n", id, interactive ? "TRUE" : "FALSE", BONOBO_EX_REPOID (&ev)); @@ -649,16 +660,6 @@ impl_Shell_setLineStatus (PortableServer_Servant servant, } -void -e_shell_set_interactive (EShell *shell, - gboolean interactive) -{ - g_return_if_fail (E_IS_SHELL (shell)); - - set_interactive (shell, interactive); -} - - /* Set up the ::Activity interface. */ static void |