From: JinYong Park Date: Tue, 28 Nov 2017 02:59:39 +0000 (+0900) Subject: popup: add a allow eval flag not to call another sizing eval during sizing eval X-Git-Tag: submit/sandbox/upgrade/efl120/20180319.053334~635 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5e07f513af6731aee4a4a5d128790e9c616f7c77;p=platform%2Fupstream%2Fefl.git popup: add a allow eval flag not to call another sizing eval during sizing eval @tizen_fix original patch : https://review.tizen.org/gerrit/#/c/76437/ Change-Id: I50613a10ee64cae17858e55e40e36b5252a594f2 Signed-off-by: JinYong Park --- diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c index cb5e937..f6aa602 100644 --- a/src/lib/elementary/elc_popup.c +++ b/src/lib/elementary/elc_popup.c @@ -677,6 +677,12 @@ _elm_popup_elm_layout_sizing_eval(Eo *obj, Elm_Popup_Data *sd) Evas_Coord h_box = 0, minh_box = 0; Evas_Coord minw = -1, minh = -1; + /* TIZEN_ONLY(20160624): add a allow eval flag not to call another sizing eval during sizing eval */ + if (!sd->allow_eval) return; + + sd->allow_eval = EINA_FALSE; + /* END */ + _scroller_size_calc(obj); if (sd->items) @@ -718,6 +724,10 @@ _elm_popup_elm_layout_sizing_eval(Eo *obj, Elm_Popup_Data *sd) else evas_object_size_hint_min_set(sd->spacer, minw, minh); + /* TIZEN_ONLY(20160624): add a allow eval flag not to call another sizing eval during sizing eval */ + sd->allow_eval = EINA_TRUE; + /* END */ + return; } @@ -727,6 +737,10 @@ _elm_popup_elm_layout_sizing_eval(Eo *obj, Elm_Popup_Data *sd) evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_max_set(obj, -1, -1); } + + /* TIZEN_ONLY(20160624): add a allow eval flag not to call another sizing eval during sizing eval */ + sd->allow_eval = EINA_TRUE; + /* END */ } EOLIAN static void @@ -1736,6 +1750,10 @@ _elm_popup_efl_canvas_group_group_add(Eo *obj, Elm_Popup_Data *priv) efl_canvas_group_add(efl_super(obj, MY_CLASS)); elm_widget_sub_object_parent_add(obj); + /* TIZEN_ONLY(20160624): add a allow eval flag not to call another sizing eval during sizing eval */ + priv->allow_eval = EINA_TRUE; + /* END */ + snprintf(style, sizeof(style), "popup/%s", elm_widget_style_get(obj)); priv->notify = elm_notify_add(obj); diff --git a/src/lib/elementary/elm_widget_popup.h b/src/lib/elementary/elm_widget_popup.h index 9d20026..3d3d692 100644 --- a/src/lib/elementary/elm_widget_popup.h +++ b/src/lib/elementary/elm_widget_popup.h @@ -61,6 +61,10 @@ struct _Elm_Popup_Data Eina_Bool scr_size_recalc : 1; Eina_Bool scroll : 1; Eina_Bool theme_scroll : 1; + + //TIZEN_ONLY(20160624): add a allow eval flag not to call another sizing eval during sizing eval + Eina_Bool allow_eval : 1; + // }; typedef struct _Elm_Popup_Item_Data Elm_Popup_Item_Data;