discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=194b1ab336fd0b9812c4e82bdf60de1885821a7b
commit 194b1ab336fd0b9812c4e82bdf60de1885821a7b Author: Mike Blumenkrantz <[email protected]> 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) --
