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) --