summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2016-01-22 12:55:32 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2016-02-02 13:36:46 -0500
commit7e3e2db2be72beb548a66983fa0e7b472b4c240e (patch)
tree3a684c327ae0453027682ce3e5bd8fe03cbdf5ee
parent9c22c5d12ac4108fb977214341d96d06e0aa921a (diff)
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
-rw-r--r--src/bin/e_dnd.c3
-rw-r--r--src/bin/e_grab_dialog.c2
-rw-r--r--src/bin/e_menu.c2
3 files changed, 6 insertions, 1 deletions
diff --git a/src/bin/e_dnd.c b/src/bin/e_dnd.c
index b0e9fbd1d..53a229af2 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)
188 } 188 }
189#endif 189#endif
190 } 190 }
191 191 e_bindings_disabled_set(1);
192 _drag_current = drag; 192 _drag_current = drag;
193 return 1; 193 return 1;
194} 194}
@@ -1158,6 +1158,7 @@ _e_drag_free(E_Drag *drag)
1158#endif 1158#endif
1159 if (e_comp->comp_type == E_PIXMAP_TYPE_WL) 1159 if (e_comp->comp_type == E_PIXMAP_TYPE_WL)
1160 e_comp_ungrab_input(1, 1); 1160 e_comp_ungrab_input(1, 1);
1161 e_bindings_disabled_set(0);
1161 _drag_win = 0; 1162 _drag_win = 0;
1162} 1163}
1163 1164
diff --git a/src/bin/e_grab_dialog.c b/src/bin/e_grab_dialog.c
index c00ac5f45..37de7b4bd 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)
80 e_comp_ungrab_input(1, 1); 80 e_comp_ungrab_input(1, 1);
81 } 81 }
82 E_FREE_LIST(eg->handlers, ecore_event_handler_del); 82 E_FREE_LIST(eg->handlers, ecore_event_handler_del);
83 e_bindings_disabled_set(0);
83 84
84 e_object_del(E_OBJECT(eg->dia)); 85 e_object_del(E_OBJECT(eg->dia));
85 free(eg); 86 free(eg);
@@ -162,6 +163,7 @@ e_grab_dialog_show(Evas_Object *parent, Eina_Bool is_mouse, Ecore_Event_Handler_
162 } 163 }
163 e_dialog_show(eg->dia); 164 e_dialog_show(eg->dia);
164 evas_object_layer_set(e_win_client_get(eg->dia->win)->frame, E_LAYER_CLIENT_PRIO); 165 evas_object_layer_set(e_win_client_get(eg->dia->win)->frame, E_LAYER_CLIENT_PRIO);
166 e_bindings_disabled_set(1);
165 return eg; 167 return eg;
166} 168}
167 169
diff --git a/src/bin/e_menu.c b/src/bin/e_menu.c
index 7a1dbde0b..cf686cafa 100644
--- a/src/bin/e_menu.c
+++ b/src/bin/e_menu.c
@@ -1186,6 +1186,7 @@ e_menu_idler_before(void)
1186 { 1186 {
1187 e_comp_ungrab_input(1, 1); 1187 e_comp_ungrab_input(1, 1);
1188 _e_menu_win = 0; 1188 _e_menu_win = 0;
1189 e_bindings_disabled_set(0);
1189 } 1190 }
1190 } 1191 }
1191} 1192}
@@ -1880,6 +1881,7 @@ _e_menu_activate_internal(E_Menu *m, E_Zone *zone)
1880 _e_menu_win = 0; 1881 _e_menu_win = 0;
1881 return; 1882 return;
1882 } 1883 }
1884 e_bindings_disabled_set(1);
1883 } 1885 }
1884 m->zone = zone; 1886 m->zone = zone;
1885 if (!m->active) 1887 if (!m->active)