efl_ui_win: Move force resize code on first draw 20/191120/1
authorJunsuChoi <jsuya.choi@samsung.com>
Thu, 11 Oct 2018 11:30:25 +0000 (20:30 +0900)
committerJunsuChoi <jsuya.choi@samsung.com>
Thu, 11 Oct 2018 11:30:25 +0000 (20:30 +0900)
Summary:
In D6165, there was a modification that forced resize_job
to be called using sd-> deferred_resize_job.
Even if we set true in sd-> deferred_resize_job,
it will be changed to false by calling other function to be called.
(sd->deferred_resize_job = EINA_TRUE; ->
  _elm_win_resize_objects_eval ->
  _elm_win_resize_job ->
   sd->deferred_resize_job = EINA_FALSE;)
Eventually _elm_win_frame_obj_update is not called.
There is a case where _elm_win_frame_obj_update can not called in tizen.
For this reason, make sure to call resize_job when first drawing based on D6165.

Test Plan: N/A

Reviewers: eagleeye, zmike, woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7156

Change-Id: Ib91d8c73d5dd0a106b77ce1fb5494b60a9fdb8e4

src/lib/elementary/efl_ui_win.c

index 215dc56..186e87b 100644 (file)
@@ -1118,12 +1118,6 @@ _elm_win_pre_render(Ecore_Evas *ee)
         _elm_win_frame_style_update(sd, 1, 1);
         ELM_WIN_DATA_ALIVE_CHECK(obj, sd);
 
-        /* set this to handle ecore-evas engine code which incorrectly
-         * assumes that a client resize call is the same as a server resize
-         * event, or which has no server event
-         */
-        sd->deferred_resize_job = EINA_TRUE;
-
         if (sd->frame_obj)
           {
              /* force initial sizing on frame to enable sizing of content */
@@ -1141,6 +1135,12 @@ _elm_win_pre_render(Ecore_Evas *ee)
           ecore_x_window_shape_input_rectangle_set(sd->x.xwin, 0, 0, 0, 0);
 #endif
         sd->first_draw = EINA_TRUE;
+
+        /* set this to handle ecore-evas engine code which incorrectly
+         * assumes that a client resize call is the same as a server resize
+         * event, or which has no server event
+         */
+        sd->deferred_resize_job = EINA_TRUE;
      }
    if (sd->deferred_resize_job)
      {