discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 7e3e2db2be72beb548a66983fa0e7b472b4c240e
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Fri Jan 22 12:55:32 2016 -0500

    disable binding activation when grab dialog, menus, or dnd is active
    
    these are all cases where bindings should fail to activate in order to
    avoid interfering with current operations
    
    also fixes an issue where attempting to add or modify an existing
    mouse/key/wheel binding would fail as a result of that binding activating
    while the grab dialog was active
---
 src/bin/e_dnd.c         | 3 ++-
 src/bin/e_grab_dialog.c | 2 ++
 src/bin/e_menu.c        | 2 ++
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_dnd.c b/src/bin/e_dnd.c
index b0e9fbd..53a229a 100644
--- a/src/bin/e_dnd.c
+++ b/src/bin/e_dnd.c
@@ -188,7 +188,7 @@ _e_drag_finalize(E_Drag *drag, E_Drag_Type type, int x, int 
y)
           }
 #endif
      }
-
+   e_bindings_disabled_set(1);
    _drag_current = drag;
    return 1;
 }
@@ -1158,6 +1158,7 @@ _e_drag_free(E_Drag *drag)
 #endif
    if (e_comp->comp_type == E_PIXMAP_TYPE_WL)
      e_comp_ungrab_input(1, 1);
+   e_bindings_disabled_set(0);
    _drag_win = 0;
 }
 
diff --git a/src/bin/e_grab_dialog.c b/src/bin/e_grab_dialog.c
index c00ac5f..37de7b4 100644
--- a/src/bin/e_grab_dialog.c
+++ b/src/bin/e_grab_dialog.c
@@ -80,6 +80,7 @@ _e_grab_dialog_free(E_Grab_Dialog *eg)
           e_comp_ungrab_input(1, 1);
      }
    E_FREE_LIST(eg->handlers, ecore_event_handler_del);
+   e_bindings_disabled_set(0);
 
    e_object_del(E_OBJECT(eg->dia));
    free(eg);
@@ -162,6 +163,7 @@ e_grab_dialog_show(Evas_Object *parent, Eina_Bool is_mouse, 
Ecore_Event_Handler_
      }
    e_dialog_show(eg->dia);
    evas_object_layer_set(e_win_client_get(eg->dia->win)->frame, 
E_LAYER_CLIENT_PRIO);
+   e_bindings_disabled_set(1);
    return eg;
 }
 
diff --git a/src/bin/e_menu.c b/src/bin/e_menu.c
index 7a1dbde..cf686ca 100644
--- a/src/bin/e_menu.c
+++ b/src/bin/e_menu.c
@@ -1186,6 +1186,7 @@ e_menu_idler_before(void)
           {
              e_comp_ungrab_input(1, 1);
              _e_menu_win = 0;
+             e_bindings_disabled_set(0);
           }
      }
 }
@@ -1880,6 +1881,7 @@ _e_menu_activate_internal(E_Menu *m, E_Zone *zone)
              _e_menu_win = 0;
              return;
           }
+        e_bindings_disabled_set(1);
      }
    m->zone = zone;
    if (!m->active)

-- 


Reply via email to