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
This commit is contained in:
Mike Blumenkrantz 2016-04-18 12:55:30 -04:00
parent 79e1928427
commit a1d0f97968
1 changed files with 4 additions and 0 deletions

View File

@ -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;