jsuya pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=044bc28e3a7087ae66ef463d0b8bce7e818cb195

commit 044bc28e3a7087ae66ef463d0b8bce7e818cb195
Author: JunsuChoi <jsuya.c...@samsung.com>
Date:   Thu Nov 21 19:49:01 2019 +0900

    elm/hoversel: Recalculate items before box calculate.
    
    Summary:
    After the item is packed into the box,
    the min of the item can be initialized with content_set working.
    content_set calls parent_set and checks the theme when calling parent_set.
    At that time, if theme is changed in the parent of layout using hoversel,
    call theme_apply(efl_ui_layout) to make min value 0, 0.
    This patch can avoid it.
    
    Test Plan: N/A
    
    Reviewers: YOhoho, Hermet, woohyun, zmike, Jaehyun_Cho
    
    Reviewed By: Jaehyun_Cho
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D10712
---
 src/lib/elementary/elc_hoversel.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/elc_hoversel.c 
b/src/lib/elementary/elc_hoversel.c
index ca08e713df..2f742f2051 100644
--- a/src/lib/elementary/elc_hoversel.c
+++ b/src/lib/elementary/elc_hoversel.c
@@ -238,6 +238,8 @@ static void
 _sizing_eval(void *data)
 {
    Evas_Object *obj = data;
+   Elm_Object_Item *eo_item;
+   const Eina_List *l;
    const char *max_size_str;
    int max_size = 0;
    char buf[128];
@@ -255,6 +257,12 @@ _sizing_eval(void *data)
    elm_layout_signal_emit(sd->hover, "elm,state,align,default", "elm");
    edje_object_message_signal_process(elm_layout_edje_get(sd->hover));
 
+   EINA_LIST_FOREACH(sd->items, l, eo_item)
+     {
+        ELM_HOVERSEL_ITEM_DATA_GET(eo_item, item);
+        efl_canvas_group_calculate(VIEW(item));
+     }
+
    elm_box_recalculate(sd->bx);
    evas_object_size_hint_combined_min_get(sd->bx, &box_w, &box_h);
 
@@ -501,7 +509,6 @@ _activate(Evas_Object *obj)
      {
         ELM_HOVERSEL_ITEM_DATA_GET(eo_item, item);
         evas_object_show(VIEW(item));
-        efl_canvas_group_calculate(VIEW(item));
         elm_box_pack_end(sd->bx, VIEW(item));
      }
 

-- 


Reply via email to