only apply frame geometry deltas for CSD if the CSD region exists
authorMike Blumenkrantz <zmike@osg.samsung.com>
Thu, 22 Oct 2015 23:25:07 +0000 (19:25 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Thu, 22 Oct 2015 23:25:07 +0000 (19:25 -0400)
ref e931e86161d7f419e44652b533fea4dc9b16241b

src/bin/e_comp_object.c

index 84ca071..f045d60 100644 (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);
      }