jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6c62ae3e6e1531d76a31aaacebee35f76b0abfa4

commit 6c62ae3e6e1531d76a31aaacebee35f76b0abfa4
Author: Jean-Philippe Andre <[email protected]>
Date:   Fri Mar 10 15:18:57 2017 +0900

    Revert "Genlist: Calculate the min size of content before item realize"
    
    This reverts commit 60566ca34d0036d21e5d134ba299b6f0fa26ce86.
    
    This broke the layout in "Genlist Full Widget"
---
 src/lib/elementary/elm_genlist.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c
index aa049c8..3197500 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -412,17 +412,16 @@ _item_content_realize(Elm_Gen_Item *it,
              // FIXME: cause elm_layout sizing eval is delayed by smart calc,
              // genlist cannot get actual min size of edje.
              // This is workaround code to set min size directly.
-             Evas_Object *resize_obj = NULL;
-             if (efl_isa(content, ELM_WIDGET_CLASS))
+             if (efl_class_get(content) == ELM_LAYOUT_CLASS)
                {
-                  ELM_WIDGET_DATA_GET_OR_RETURN(content, wd);
-                  resize_obj = wd->resize_obj;
-               }
-             else if (efl_isa(content, EFL_CANVAS_GROUP_CLASS))
-               resize_obj = content;
+                  Evas_Coord old_w, old_h, minw = 0, minh = 0;
+                  efl_gfx_size_hint_combined_min_get(content, &old_w, &old_h);
+                  edje_object_size_min_calc(elm_layout_edje_get(content), 
&minw, &minh);
 
-             if (resize_obj && 
efl_canvas_group_need_recalculate_get(resize_obj))
-               efl_canvas_group_calculate(content);
+                  if (old_w > minw) minw = old_w;
+                  if (old_h > minh) minw = old_h;
+                  evas_object_size_hint_min_set(content, minw, minh);
+               }
 
              if (!edje_object_part_swallow(target, key, content))
                {

-- 


Reply via email to