summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSangHyeon Lee <sh10233.lee@samsung.com>2017-06-12 10:13:02 -0700
committerCedric Bail <cedric@osg.samsung.com>2017-06-12 10:13:05 -0700
commitd1a5df70558a792791d04091ff14feef60ea3bae (patch)
treef5beec5d62e397e15262c3ca01c21e2774f27a12
parent79f36418ef6dcb340779d83c0f67d9fc92179b0c (diff)
downloadefl-d1a5df70558a792791d04091ff14feef60ea3bae.tar.gz
elementary: fix recursive content group calculation in genlist
Summary: There are several problem is left on recursize content calc. previously genlist only calculate size of layout class, but after recursive content group calculation patch, layout couldn't get proper size because sizing eval is not pre-processed. Test Plan: elementary test working fine. Reviewers: jpeg, cedric, raster, conr2d Differential Revision: https://phab.enlightenment.org/D4952 Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
-rw-r--r--src/lib/elementary/elm_genlist.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c
index 63e96e52aa..3cca3b2d4c 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -375,6 +375,10 @@ _widget_calculate_recursive(Eo *obj)
pd = efl_data_scope_get(obj, ELM_WIDGET_CLASS);
if (!pd) return;
+ if (!efl_canvas_group_need_recalculate_get(obj) &&
+ !efl_canvas_group_need_recalculate_get(pd->resize_obj))
+ return;
+
EINA_LIST_FOREACH(pd->subobjs, l, child)
_widget_calculate_recursive(child);
@@ -433,8 +437,12 @@ _item_content_realize(Elm_Gen_Item *it,
if (efl_isa(content, ELM_WIDGET_CLASS))
{
ELM_WIDGET_DATA_GET_OR_RETURN(content, wd);
- if (efl_canvas_group_need_recalculate_get(wd->resize_obj))
- _widget_calculate_recursive(content);
+
+ // FIXME : Layout need sizing eval before group calculate
+ if (efl_class_get(content) == ELM_LAYOUT_CLASS)
+ elm_obj_layout_sizing_eval(content);
+
+ _widget_calculate_recursive(content);
}
if (!edje_object_part_swallow(target, key, content))