From a1d0f979684737032673eb0d96bb9a0a64ba7eb6 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 18 Apr 2016 12:55:30 -0400 Subject: [PATCH] do not perform x11 mouse/wheel grabs for ANY binding contexts these are traditionally compositor-only actions which may filter through many different objects but are not meant to activate on window contents resolves issues where some related mouse bindings were blocking input on windows under x11 #thingsthatneeddocs --- src/bin/e_bindings.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/bin/e_bindings.c b/src/bin/e_bindings.c index c47101bc3..53817831b 100644 --- a/src/bin/e_bindings.c +++ b/src/bin/e_bindings.c @@ -381,6 +381,7 @@ e_bindings_mouse_grab(E_Binding_Context ctxt, Ecore_X_Window win) EINA_LIST_FOREACH(mouse_bindings, l, binding) { + if (binding->ctxt == E_BINDING_CONTEXT_ANY) continue; if (_e_bindings_context_match(binding->ctxt, ctxt)) { #ifndef HAVE_WAYLAND_ONLY @@ -406,6 +407,7 @@ e_bindings_mouse_ungrab(E_Binding_Context ctxt, Ecore_X_Window win) EINA_LIST_FOREACH(mouse_bindings, l, binding) { + if (binding->ctxt == E_BINDING_CONTEXT_ANY) continue; if (_e_bindings_context_match(binding->ctxt, ctxt)) { #ifndef HAVE_WAYLAND_ONLY @@ -1117,6 +1119,7 @@ e_bindings_wheel_grab(E_Binding_Context ctxt, Ecore_X_Window win) EINA_LIST_FOREACH(wheel_bindings, l, binding) { + if (binding->ctxt == E_BINDING_CONTEXT_ANY) continue; if (_e_bindings_context_match(binding->ctxt, ctxt)) { int button = 0; @@ -1156,6 +1159,7 @@ e_bindings_wheel_ungrab(E_Binding_Context ctxt, Ecore_X_Window win) EINA_LIST_FOREACH(wheel_bindings, l, binding) { + if (binding->ctxt == E_BINDING_CONTEXT_ANY) continue; if (_e_bindings_context_match(binding->ctxt, ctxt)) { int button = 0;