discomfitor pushed a commit to branch enlightenment-0.20.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=57e60ac77bb2f86acecf510df51c7dabef1a3cd5

commit 57e60ac77bb2f86acecf510df51c7dabef1a3cd5
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Thu Mar 17 13:35:50 2016 -0400

    do not update client coords on csd geom update if it would change the zone
    
    in the case where a client is at 0,0 relative to a zone, changing the coords
    in this case will result in the client moving out of the zone by the size 
of the
    csd
---
 src/bin/e_comp_object.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index fee6c63..7e174ea 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -3020,8 +3020,12 @@ e_comp_object_frame_geometry_set(Evas_Object *obj, int 
l, int r, int t, int b)
      {
         if ((calc || (!e_client_has_xwindow(cw->ec))) && cw->client_inset.calc)
           {
-             cw->ec->x -= l - cw->client_inset.l;
-             cw->ec->y -= t - cw->client_inset.t;
+             E_Zone *zone = e_comp_object_util_zone_get(obj);
+
+             if (cw->ec->x != zone->x)
+               cw->ec->x -= l - cw->client_inset.l;
+             if (cw->ec->y != zone->y)
+               cw->ec->y -= t - cw->client_inset.t;
           }
         cw->ec->changes.pos = cw->ec->changes.size = 1;
         EC_CHANGED(cw->ec);

-- 


Reply via email to