discomfitor pushed a commit to branch master.

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

commit fa02f16a3fcf24ac32ea0d1e07fbcb145b0da565
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Tue Apr 17 14:52:19 2018 -0400

    efl_ui_win: remove show intercept function
    
    this should just be handled in the pre-render callback where the rest
    of the calc for the window is done
    
    also removes an unnecessary smart calc
    
    Differential Revision: https://phab.enlightenment.org/D5960
---
 src/lib/elementary/efl_ui_win.c | 44 +++++++++++------------------------------
 1 file changed, 12 insertions(+), 32 deletions(-)

diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index b103aad8a0..17961fb757 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -992,11 +992,22 @@ _elm_win_pre_render(Ecore_Evas *ee)
    _elm_win_throttle_ok = EINA_TRUE;
    if (!sd->first_draw)
      {
-        sd->first_draw = EINA_TRUE;
         edje_object_thaw(sd->frame_obj);
+        evas_object_show(sd->frame_obj);
         _elm_win_frame_style_update(sd, 1, 1);
         _elm_win_frame_obj_update(sd);
         ELM_WIN_DATA_ALIVE_CHECK(obj, sd);
+
+        if (sd->img_obj)
+          {
+             evas_object_show(sd->img_obj);
+          }
+        if (sd->pointer.obj) evas_object_show(sd->pointer.obj);
+#ifdef ELEMENTARY_X
+        if (sd->type == ELM_WIN_TOOLTIP)
+          ecore_x_window_shape_input_rectangle_set(sd->x.xwin, 0, 0, 0, 0);
+#endif
+        sd->first_draw = EINA_TRUE;
      }
    if (sd->deferred_resize_job)
      _elm_win_resize_job(sd->obj);
@@ -2877,35 +2888,6 @@ _efl_ui_win_efl_canvas_group_group_del(Eo *obj, 
Efl_Ui_Win_Data *sd)
      }
 }
 
-static void
-_elm_win_obj_intercept_show(void *data,
-                            Evas_Object *obj)
-{
-   ELM_WIN_DATA_GET(data, sd);
-
-   /* FIXME: this intercept needs to be implemented in proper EO */
-
-   // this is called to make sure all smart containers have calculated their
-   // sizes BEFORE we show the window to make sure it initially appears at
-   // our desired size (ie min size is known first)
-   evas_smart_objects_calculate(evas_object_evas_get(obj));
-   if (sd->frame_obj)
-     {
-        evas_object_show(sd->frame_obj);
-     }
-   if (sd->img_obj)
-     {
-        evas_object_show(sd->img_obj);
-     }
-   if (sd->pointer.obj) evas_object_show(sd->pointer.obj);
-
-   evas_object_show(obj);
-#ifdef ELEMENTARY_X
-   if (sd->type == ELM_WIN_TOOLTIP)
-     ecore_x_window_shape_input_rectangle_set(sd->x.xwin, 0, 0, 0, 0);
-#endif
-}
-
 EOLIAN static void
 _efl_ui_win_efl_gfx_entity_position_set(Eo *obj, Efl_Ui_Win_Data *sd, 
Eina_Position2D pos)
 {
@@ -5214,8 +5196,6 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, 
const char *name, Efl_U
           (obj, _elm_win_obj_intercept_stack_below, obj);
         evas_object_intercept_layer_set_callback_add
           (obj, _elm_win_obj_intercept_layer_set, obj);
-        evas_object_intercept_show_callback_add
-          (obj, _elm_win_obj_intercept_show, obj);
      }
 
    TRAP(sd, name_class_set, name, _elm_appname);

-- 


Reply via email to