discomfitor pushed a commit to branch master.

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

commit 194b1ab336fd0b9812c4e82bdf60de1885821a7b
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