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>
This commit is contained in:
SangHyeon Lee 2017-06-12 10:13:02 -07:00 committed by Cedric Bail
parent 79f36418ef
commit d1a5df7055
1 changed files with 10 additions and 2 deletions

View File

@ -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))