From bd0f2595b3fb96f1672edf78196c943fcaec4729 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 17 Mar 2016 13:35:50 -0400 Subject: [PATCH] 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 dd88bf287..18e09d3d2 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -3053,8 +3053,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);