From: José Dapena Paz Date: Thu, 11 Feb 2010 09:35:08 +0000 (+0100) Subject: Set better modal windows in hildon2 window manager to avoid keyboard focus X-Git-Tag: 3.2.13-1~11 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=80d46e0ddb62768d3ce531038da3e055aa8feaba;ds=sidebyside Set better modal windows in hildon2 window manager to avoid keyboard focus hangs. Fixes NB#149836. --- diff --git a/src/hildon2/modest-hildon2-window-mgr.c b/src/hildon2/modest-hildon2-window-mgr.c index 7c34155..b5c6128 100644 --- a/src/hildon2/modest-hildon2-window-mgr.c +++ b/src/hildon2/modest-hildon2-window-mgr.c @@ -919,6 +919,20 @@ modest_hildon2_window_mgr_set_modal (ModestWindowMgr *self, gtk_window_set_modal (window, TRUE); gtk_window_set_transient_for (window, parent); gtk_window_set_destroy_with_parent (window, TRUE); + + if (!gtk_window_has_toplevel_focus (window)) { + GList *toplevels, *node; + + toplevels = gtk_window_list_toplevels (); + for (node = toplevels; node != NULL; node = g_list_next (node)) { + if (gtk_window_has_toplevel_focus (GTK_WINDOW (node->data))) { + if (GTK_IS_DIALOG (node->data)) { + gtk_window_set_transient_for (window, GTK_WINDOW (node->data)); + } + break; + } + } + } } static void