discomfitor pushed a commit to branch master.

commit 27c872e102446c18f7ce592558c3f87528d46701
Author: Mike Blumenkrantz <[email protected]>
Date:   Thu May 23 09:40:02 2013 +0100

    fix gadman hover dnd
---
 src/modules/gadman/e_mod_gadman.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/modules/gadman/e_mod_gadman.c 
b/src/modules/gadman/e_mod_gadman.c
index 764acfb..afd99dd 100644
--- a/src/modules/gadman/e_mod_gadman.c
+++ b/src/modules/gadman/e_mod_gadman.c
@@ -623,7 +623,9 @@ _gadman_gadcon_dnd_enter_cb(E_Gadcon *gc, E_Gadcon_Client 
*gcc)
 {
 
    /* only use this for dragging gadcons around the desktop */
-   if (!eina_list_data_find(Man->gadcons[GADMAN_LAYER_BG], gc)) return;
+   if ((!eina_list_data_find(Man->gadcons[GADMAN_LAYER_BG], gc)) &&
+       (!eina_list_data_find(Man->gadcons[GADMAN_LAYER_TOP], gc)))
+     return;
    //INF("ENTER: %u", e_object_ref_get((void*)gcc));
    gadman_gadget_edit_start(gcc);
 }
@@ -635,7 +637,9 @@ _gadman_gadcon_dnd_leave_cb(E_Gadcon *gc, E_Gadcon_Client 
*gcc)
    E_Gadcon_Client *drag_gcc = NULL;
 
    /* only use this for dragging gadcons around the desktop */
-   if (!eina_list_data_find(Man->gadcons[GADMAN_LAYER_BG], gc)) return;
+   if ((!eina_list_data_find(Man->gadcons[GADMAN_LAYER_BG], gc)) &&
+       (!eina_list_data_find(Man->gadcons[GADMAN_LAYER_TOP], gc)))
+     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++)
@@ -665,7 +669,9 @@ _gadman_gadcon_dnd_move_cb(E_Gadcon *gc, E_Gadcon_Client 
*gcc)
    int ox, oy, ow, oh;
 
    /* only use this for dragging gadcons around the desktop */
-   if (!eina_list_data_find(Man->gadcons[GADMAN_LAYER_BG], gc)) return;
+   if ((!eina_list_data_find(Man->gadcons[GADMAN_LAYER_BG], gc)) &&
+       (!eina_list_data_find(Man->gadcons[GADMAN_LAYER_TOP], gc)))
+     return;
 
    mover = _get_mover(gcc);
    evas_object_geometry_get(gcc->o_frame, &x, &y, NULL, NULL);
@@ -696,7 +702,9 @@ _gadman_gadcon_dnd_drop_cb(E_Gadcon *gc, E_Gadcon_Client 
*gcc)
    int gx, gy;
 
    /* only use this for dragging gadcons around the desktop */
-   if (!eina_list_data_find(Man->gadcons[GADMAN_LAYER_BG], gc)) return;
+   if ((!eina_list_data_find(Man->gadcons[GADMAN_LAYER_BG], gc)) &&
+       (!eina_list_data_find(Man->gadcons[GADMAN_LAYER_TOP], gc)))
+     return;
 
    gcc->moving = 0;
    gcc->dx = gcc->dy = 0;

-- 

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may

Reply via email to