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
This commit is contained in:
Mike Blumenkrantz 2016-01-22 12:55:32 -05:00
parent 8500517e34
commit 194b1ab336
3 changed files with 6 additions and 1 deletions

View File

@ -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;
}

View File

@ -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;
}

View File

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