only apply frame geometry deltas for CSD if the CSD region exists

ref e931e86161
This commit is contained in:
Mike Blumenkrantz 2015-10-22 19:25:07 -04:00
parent 6692cefaf5
commit 98f418afa9
1 changed files with 10 additions and 4 deletions

View File

@ -2951,12 +2951,18 @@ e_comp_object_frame_geometry_set(Evas_Object *obj, int l, int r, int t, int b)
(cw->client_inset.t == t) && (cw->client_inset.b == b)) return;
cw->client_inset.calc = l || r || t || b;
eina_stringshare_replace(&cw->frame_theme, "borderless");
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->client_inset.calc)
{
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->client_inset.l;
cw->ec->y -= t - cw->client_inset.t;
if (cw->client_inset.calc)
{
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);
}