efl_ui_layout: set needs_size_calc flag at constructor

Summary:
even if there is a min definition on theme for some object,
the objects don't have the min size if we do nothing after creating it.

elm_layout_sizing_eval will return with doing nothing while executing contructor
so that _sizing_eval in _layout_group_calculate will never be invoked without calling hint_set, text_set, content_set, etc.

this patch modifies a initial state of needs_size_calc flag
so that object will doing _sizing_eval after executing constructor.

Test Plan:
1. remove lines that call apis such as content_set, hint_set, text_set
  in radio test on elementary_test

2. observe that radios don't have min size

Reviewers: bu5hm4n, Hermet, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9368
This commit is contained in:
Wonki Kim 2019-07-22 09:08:55 -04:00 committed by Mike Blumenkrantz
parent 28c232d770
commit 98b1924432
1 changed files with 3 additions and 1 deletions

View File

@ -2445,7 +2445,7 @@ _efl_ui_layout_base_efl_object_constructor(Eo *obj, Efl_Ui_Layout_Data *sd)
}
EOLIAN static Efl_Object*
_efl_ui_layout_base_efl_object_finalize(Eo *obj, Efl_Ui_Layout_Data *pd EINA_UNUSED)
_efl_ui_layout_base_efl_object_finalize(Eo *obj, Efl_Ui_Layout_Data *pd)
{
Eo *eo, *win;
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
@ -2459,6 +2459,8 @@ _efl_ui_layout_base_efl_object_finalize(Eo *obj, Efl_Ui_Layout_Data *pd EINA_UNU
if (efl_file_get(wd->resize_obj) || efl_file_mmap_get(wd->resize_obj))
efl_file_load(wd->resize_obj);
pd->needs_size_calc = EINA_TRUE;
return eo;
}