aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Blumenkrantz <m.blumenkran@samsung.com>2013-02-20 10:54:34 +0000
committerMike Blumenkrantz <m.blumenkran@samsung.com>2013-02-22 13:18:30 +0000
commit56fdcf1faa01a87ef4b65edd870afdbcfa44b7aa (patch)
tree46315361b869760639b8b2710fe4d985cde4ea63
parent4b9113f3bae84f3d1f73be460b41259c52c96882 (diff)
downloadenlightenment-56fdcf1faa01a87ef4b65edd870afdbcfa44b7aa.tar.gz
enlightenment-56fdcf1faa01a87ef4b65edd870afdbcfa44b7aa.tar.xz
enlightenment-56fdcf1faa01a87ef4b65edd870afdbcfa44b7aa.zip
use e_gadcon_zone_get for dnd-related functions to ensure we get the right zone: fixes toolbar dnd
-rw-r--r--src/bin/e_gadcon.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/bin/e_gadcon.c b/src/bin/e_gadcon.c
index 37ea36b22..8a3ee1487 100644
--- a/src/bin/e_gadcon.c
+++ b/src/bin/e_gadcon.c
@@ -2254,10 +2254,12 @@ _e_gadcon_client_drag_begin(E_Gadcon_Client *gcc, int x, int y)
E_Drag *drag;
Evas_Object *o = NULL;
Evas_Coord w = 0, h = 0;
+ E_Zone *zone;
const char *drag_types[] = { "enlightenment/gadcon_client" };
- if ((gcc->gadcon->drag_gcc) || (!gcc->gadcon->zone) || (!gcc->gadcon->zone->container))
- return;
+ zone = e_gadcon_zone_get(gcc->gadcon);
+ if (gcc->gadcon->drag_gcc) return;
+ if ((!zone) || (!zone->container)) return;
if (!e_util_strcmp(gcc->client_class->name, "systray"))
return;
@@ -2274,9 +2276,9 @@ _e_gadcon_client_drag_begin(E_Gadcon_Client *gcc, int x, int y)
if (!e_drop_inside(gcc->gadcon->drop_handler, x, y))
e_gadcon_client_hide(gcc);
- ecore_x_pointer_xy_get(gcc->gadcon->zone->container->win, &x, &y);
+ ecore_x_pointer_xy_get(zone->container->win, &x, &y);
- gcc->drag.drag = drag = e_drag_new(gcc->gadcon->zone->container, x, y,
+ gcc->drag.drag = drag = e_drag_new(zone->container, x, y,
drag_types, 1, gcc, -1, NULL,
e_gadcon_drag_finished_cb);
if (!drag) return;