From: Mike Blumenkrantz Date: Fri, 26 Jul 2013 12:54:53 +0000 (+0100) Subject: block gadman drags originating from other gadcons X-Git-Tag: submit/efl/20131021.015651~227 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=31ef04c0e6262db1cd17f3576e65778f5e233540;p=platform%2Fupstream%2Fenlightenment.git block gadman drags originating from other gadcons T251 --- diff --git a/src/modules/gadman/e_mod_gadman.c b/src/modules/gadman/e_mod_gadman.c index 285720f..ee77ca7 100644 --- a/src/modules/gadman/e_mod_gadman.c +++ b/src/modules/gadman/e_mod_gadman.c @@ -634,6 +634,7 @@ _gadman_gadcon_dnd_enter_cb(E_Gadcon *gc, E_Gadcon_Client *gcc) if ((!eina_list_data_find(Man->gadcons[GADMAN_LAYER_BG], gc)) && (!eina_list_data_find(Man->gadcons[GADMAN_LAYER_TOP], gc))) return; + if (gc != gcc->gadcon) return; //INF("ENTER: %u", e_object_ref_get((void*)gcc)); gadman_gadget_edit_start(gcc); } @@ -648,6 +649,7 @@ _gadman_gadcon_dnd_leave_cb(E_Gadcon *gc, E_Gadcon_Client *gcc) if ((!eina_list_data_find(Man->gadcons[GADMAN_LAYER_BG], gc)) && (!eina_list_data_find(Man->gadcons[GADMAN_LAYER_TOP], gc))) return; + if (gc != gcc->gadcon) return; //INF("LEAVE: %u", e_object_ref_get((void*)gcc)); Man->drag_gcc[gcc->gadcon->id - ID_GADMAN_LAYER_BASE] = NULL; for (layer = 0; layer < GADMAN_LAYER_COUNT; layer++) @@ -676,6 +678,7 @@ _gadman_gadcon_dnd_move_cb(E_Gadcon *gc, E_Gadcon_Client *gcc) int x, y, mx, my; int ox, oy, ow, oh; + if (gc != gcc->gadcon) return; /* only use this for dragging gadcons around the desktop */ if ((!eina_list_data_find(Man->gadcons[GADMAN_LAYER_BG], gc)) && (!eina_list_data_find(Man->gadcons[GADMAN_LAYER_TOP], gc))) @@ -709,6 +712,7 @@ _gadman_gadcon_dnd_drop_cb(E_Gadcon *gc, E_Gadcon_Client *gcc) Evas_Object *mover; int gx, gy; + if (gc != gcc->gadcon) return; /* only use this for dragging gadcons around the desktop */ if ((!eina_list_data_find(Man->gadcons[GADMAN_LAYER_BG], gc)) && (!eina_list_data_find(Man->gadcons[GADMAN_LAYER_TOP], gc)))