From 7923a0937c5e4f3b8f6add8a5fe7c7d217fd2860 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 22 Jan 2013 09:39:04 +0000 Subject: [PATCH] fix desktop gadget dragging near screen edges ticket #2108 SVN revision: 83063 --- ChangeLog | 1 + NEWS | 1 + src/modules/gadman/e_mod_gadman.c | 6 ++---- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index c28b2ac95..2ddb00c40 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ 2013-01-22 Mike Blumenkrantz * No longer build illume edj files + * fixed gadget dragging on desktop near screen edges 2013-01-15 Mike Blumenkrantz diff --git a/NEWS b/NEWS index d93071664..e0374d441 100644 --- a/NEWS +++ b/NEWS @@ -108,3 +108,4 @@ Fixes: * fixed window border hide bug where after iconification hides leave ghosts * fixed bug where backlight settings would try to update dummy backlight devices * Reuse notifications for mixer and battery modules. + * fixed gadget dragging on desktop near screen edges diff --git a/src/modules/gadman/e_mod_gadman.c b/src/modules/gadman/e_mod_gadman.c index 75951291b..e1b39f4ad 100644 --- a/src/modules/gadman/e_mod_gadman.c +++ b/src/modules/gadman/e_mod_gadman.c @@ -673,10 +673,8 @@ _gadman_gadcon_dnd_move_cb(E_Gadcon *gc, E_Gadcon_Client *gcc) evas_object_geometry_get(mover, &ox, &oy, &ow, &oh); /* don't go out of the screen */ - if (x < 0) x = 0; - if (x > (Man->width - ow)) x = Man->width - ow; - if (y < 0) y = 0; - if (y > (Man->height - oh)) y = Man->height - oh; + x = MAX(x, gcc->dx), y = MAX(y, gcc->dy); + x = MIN(x, Man->width - ow + gcc->dx), y = MIN(y, Man->height - ow + gcc->dy); evas_object_move(gcc->o_frame, x - gcc->dx, y - gcc->dy); evas_object_move(mover, x - gcc->dx, y - gcc->dy);