diff options
author | Mike Blumenkrantz <zmike@osg.samsung.com> | 2015-10-19 17:19:32 -0400 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2015-11-09 14:03:35 -0500 |
commit | 1529bebcb0b500cc853d8850337e1a62fa010fe6 (patch) | |
tree | 6a532690c22ad946bee1d66c9e1fadc9f70c6dbf | |
parent | bc09dfeefe1bc4f32e63cbf6ca374c97e6d6aba6 (diff) | |
download | enlightenment-1529bebcb0b500cc853d8850337e1a62fa010fe6.tar.gz |
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
-rw-r--r-- | src/bin/e_comp_object.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 3fe929664b..aa18c1672f 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 |