summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2016-10-19 11:38:34 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2016-10-19 11:38:34 -0400
commit8bf7999c31dbaa31551767a257c9ddb6a018e86c (patch)
treedb06a5332a5c4ab6942bdc876209cb0d224dd3f6
parent2c4316633bbf470e84019ffb3e0638d663ea26c1 (diff)
downloadenlightenment-8bf7999c31dbaa31551767a257c9ddb6a018e86c.tar.gz
add gadget site sizing workaround to avoid elm box sizing desync
ref T4747 fix T4732
-rw-r--r--src/bin/e_gadget.c27
1 files changed, 23 insertions, 4 deletions
diff --git a/src/bin/e_gadget.c b/src/bin/e_gadget.c
index 6316a11d38..51fbf08eca 100644
--- a/src/bin/e_gadget.c
+++ b/src/bin/e_gadget.c
@@ -454,7 +454,10 @@ _site_layout_orient(Evas_Object *o, E_Gadget_Site *zgs)
Eina_List *l;
double ax, ay;
E_Gadget_Config *zgc;
+ int mw, mh, sw, sh;
+ evas_object_size_hint_min_get(o, &mw, &mh);
+ evas_object_size_hint_min_get(zgs->layout, &sw, &sh);
evas_object_geometry_get(o, &x, &y, &w, &h);
evas_object_geometry_set(zgs->events, x, y, w, h);
@@ -520,9 +523,14 @@ _site_layout_orient(Evas_Object *o, E_Gadget_Site *zgs)
else if (IS_VERT(zgs->orient))
zgs->cur_size = abs(yy - y);
- evas_object_size_hint_min_set(o,
- IS_HORIZ(zgs->orient) ? zgs->cur_size : w,
- IS_VERT(zgs->orient) ? zgs->cur_size : h);
+ w = IS_HORIZ(zgs->orient) ? zgs->cur_size : w;
+ h = IS_VERT(zgs->orient) ? zgs->cur_size : h;
+ if ((w == mw) && (h == mh) && (sw == sh) && (sw == -1))
+ {
+ /* FIXME: https://phab.enlightenment.org/T4747 */
+ evas_object_size_hint_min_set(o, -1, -1);
+ }
+ evas_object_size_hint_min_set(o, w, h);
}
static void
@@ -599,7 +607,18 @@ _site_layout(Evas_Object *o, Evas_Object_Box_Data *priv EINA_UNUSED, void *data)
py = gy + (-ay * oh);
#endif
if (eina_list_count(zgs->gadgets) == 1)
- evas_object_size_hint_min_set(o, ow, oh);
+ {
+ int mw, mh, sw, sh;
+
+ evas_object_size_hint_min_get(o, &mw, &mh);
+ evas_object_size_hint_min_get(zgs->layout, &sw, &sh);
+ if ((ow == mw) && (oh == mh) && (sw == sh) && (sw == -1))
+ {
+ /* FIXME: https://phab.enlightenment.org/T4747 */
+ evas_object_size_hint_min_set(o, -1, -1);
+ }
+ evas_object_size_hint_min_set(o, ow, oh);
+ }
}
}