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
This commit is contained in:
junsu choi 2019-11-21 19:49:01 +09:00
parent 4a4525cb4b
commit 044bc28e3a
1 changed files with 8 additions and 1 deletions

View File

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