summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Müllner <fmuellner@gnome.org>2018-05-25 20:18:23 +0200
committerJonas Ådahl <jadahl@gmail.com>2018-07-30 17:48:39 +0000
commit148da24f9510ebd23d750b8224aa0ab3a549e69e (patch)
tree2063cad20d0e78a34c47867fd71d71eb7dfb85bd
parent649c26e05a67c52a4f5acf6b4aa3b1217e9bc9c0 (diff)
downloadmutter-148da24f9510ebd23d750b8224aa0ab3a549e69e.tar.gz
window: Don't refuse to move focus to the grab window
We refuse to move focus while a grab operation is in place. While this generally makes sense, there's no reason why the window that owns the grab shouldn't be given the regular input focus as well - we pretty much assume that the grab window is also the focus window anyway. In fact there's a strong reason for allowing the focus change here: If the grab window isn't the focus window, it probably has a modal transient that is focused instead, and a likely reason for the focus request is that the transient is being unmanaged and we must move the focus elsewhere. https://gitlab.gnome.org/GNOME/mutter/issues/15
-rw-r--r--src/core/window.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/core/window.c b/src/core/window.c
index 7ded9f3aa..5e0148c0b 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -4644,6 +4644,7 @@ meta_window_focus (MetaWindow *window,
window->desc, window->input, window->take_focus);
if (window->display->grab_window &&
+ window->display->grab_window != window &&
window->display->grab_window->all_keys_grabbed &&
!window->display->grab_window->unmanaging)
{