aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/e-shell.c')
-rw-r--r--shell/e-shell.c23
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