discomfitor pushed a commit to branch enlightenment-0.19.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=1529bebcb0b500cc853d8850337e1a62fa010fe6

commit 1529bebcb0b500cc853d8850337e1a62fa010fe6
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Mon Oct 19 17:19:32 2015 -0400

    update csd using deltas of previous values
    
    when applying new csd to a window which already has csd, the previous
    csd must be removed in order to apply any new csd offsets in order to
    avoid unwanted moving/resizing
---
 src/bin/e_comp_object.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 3fe9296..aa18c16 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -2798,21 +2798,21 @@ e_comp_object_frame_geometry_set(Evas_Object *obj, int 
l, int r, int t, int b)
    API_ENTRY;
    if ((cw->client_inset.l == l) && (cw->client_inset.r == r) &&
        (cw->client_inset.t == t) && (cw->client_inset.b == b)) return;
-   cw->client_inset.l = l;
-   cw->client_inset.r = r;
-   cw->client_inset.t = t;
-   cw->client_inset.b = b;
    cw->client_inset.calc = l || r || t || b;
    eina_stringshare_replace(&cw->frame_theme, "borderless");
-   cw->ec->w += l + r;
-   cw->ec->h += t + b;
+   cw->ec->w += (l + r) - (cw->client_inset.l + cw->client_inset.r);
+   cw->ec->h += (t + b) - (cw->client_inset.t + cw->client_inset.b);
    if (!cw->ec->new_client)
      {
-        cw->ec->x -= l;
-        cw->ec->y -= t;
+        cw->ec->x -= l - cw->client_inset.l;
+        cw->ec->y -= t - cw->client_inset.t;
         cw->ec->changes.pos = cw->ec->changes.size = 1;
         EC_CHANGED(cw->ec);
      }
+   cw->client_inset.l = l;
+   cw->client_inset.r = r;
+   cw->client_inset.t = t;
+   cw->client_inset.b = b;
 }
 
 E_API Eina_Bool

-- 


Reply via email to