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 --