forked from enlightenment/enlightenment
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
This commit is contained in:
parent
959366076c
commit
bd0f2595b3
|
@ -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)
|
if ((calc || (!e_client_has_xwindow(cw->ec))) && cw->client_inset.calc)
|
||||||
{
|
{
|
||||||
cw->ec->x -= l - cw->client_inset.l;
|
E_Zone *zone = e_comp_object_util_zone_get(obj);
|
||||||
cw->ec->y -= t - cw->client_inset.t;
|
|
||||||
|
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;
|
cw->ec->changes.pos = cw->ec->changes.size = 1;
|
||||||
EC_CHANGED(cw->ec);
|
EC_CHANGED(cw->ec);
|
||||||
|
|
Loading…
Reference in New Issue