discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=4dd99ed66939bf195134320cfec896f96222700c
commit 4dd99ed66939bf195134320cfec896f96222700c Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Mon Sep 19 14:53:20 2016 -0400 add separate codepath for handling layout of moving gadgets these get sized and positioned in a passthrough manner, so avoid doing any calc --- src/bin/e_gadget.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/bin/e_gadget.c b/src/bin/e_gadget.c index 5196963..1382a19 100644 --- a/src/bin/e_gadget.c +++ b/src/bin/e_gadget.c @@ -532,16 +532,21 @@ _site_layout(Evas_Object *o, Evas_Object_Box_Data *priv EINA_UNUSED, void *data) int ww, hh, ow, oh; if (!zgc->display) continue; - _site_gadget_resize(zgc->gadget, w * zgc->w, h * zgc->h, &ww, &hh, &ow, &oh); - if (zgc->x > -1.0) - { - gx = zgc->x * w; - gx += (Evas_Coord)(((double)(ww - ow)) * 0.5 * -ax); - } - if (zgc->y > -1.0) + if (zgc->moving) + _site_gadget_resize(zgc->gadget, w, h, &ww, &hh, &ow, &oh); + else { - gy = zgc->y * h; - gy += (Evas_Coord)(((double)(hh - oh)) * 0.5 * -ay); + _site_gadget_resize(zgc->gadget, w * zgc->w, h * zgc->h, &ww, &hh, &ow, &oh); + if (zgc->x > -1.0) + { + gx = zgc->x * w; + gx += (Evas_Coord)(((double)(ww - ow)) * 0.5 * -ax); + } + if (zgc->y > -1.0) + { + gy = zgc->y * h; + gy += (Evas_Coord)(((double)(hh - oh)) * 0.5 * -ay); + } } if (zgs->gravity) { --