popup: add a allow eval flag not to call another sizing eval during sizing eval 61/161861/5
authorJinYong Park <j4939.park@samsung.com>
Tue, 28 Nov 2017 02:59:39 +0000 (11:59 +0900)
committerGerrit Code Review <gerrit@review.ap-northeast-2.compute.internal>
Wed, 3 Jan 2018 06:55:47 +0000 (06:55 +0000)
@tizen_fix

original patch : https://review.tizen.org/gerrit/#/c/76437/

Change-Id: I50613a10ee64cae17858e55e40e36b5252a594f2
Signed-off-by: JinYong Park <j4939.park@samsung.com>
src/lib/elementary/elc_popup.c
src/lib/elementary/elm_widget_popup.h

index cb5e937..f6aa602 100644 (file)
@@ -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);
index 9d20026..3d3d692 100644 (file)
@@ -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;