discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=a1d0f979684737032673eb0d96bb9a0a64ba7eb6

commit a1d0f979684737032673eb0d96bb9a0a64ba7eb6
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Mon Apr 18 12:55:30 2016 -0400

    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 c47101b..5381783 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;

-- 


Reply via email to