summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 63e96e5..3cca3b2 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -375,6 +375,10 @@ _widget_calculate_recursive(Eo *obj)
375 pd = efl_data_scope_get(obj, ELM_WIDGET_CLASS); 375 pd = efl_data_scope_get(obj, ELM_WIDGET_CLASS);
376 if (!pd) return; 376 if (!pd) return;
377 377
378 if (!efl_canvas_group_need_recalculate_get(obj) &&
379 !efl_canvas_group_need_recalculate_get(pd->resize_obj))
380 return;
381
378 EINA_LIST_FOREACH(pd->subobjs, l, child) 382 EINA_LIST_FOREACH(pd->subobjs, l, child)
379 _widget_calculate_recursive(child); 383 _widget_calculate_recursive(child);
380 384
@@ -433,8 +437,12 @@ _item_content_realize(Elm_Gen_Item *it,
433 if (efl_isa(content, ELM_WIDGET_CLASS)) 437 if (efl_isa(content, ELM_WIDGET_CLASS))
434 { 438 {
435 ELM_WIDGET_DATA_GET_OR_RETURN(content, wd); 439 ELM_WIDGET_DATA_GET_OR_RETURN(content, wd);
436 if (efl_canvas_group_need_recalculate_get(wd->resize_obj)) 440
437 _widget_calculate_recursive(content); 441 // FIXME : Layout need sizing eval before group calculate
442 if (efl_class_get(content) == ELM_LAYOUT_CLASS)
443 elm_obj_layout_sizing_eval(content);
444
445 _widget_calculate_recursive(content);
438 } 446 }
439 447
440 if (!edje_object_part_swallow(target, key, content)) 448 if (!edje_object_part_swallow(target, key, content))