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 9c22c5d12a
commit 7e3e2db2be
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)