raster pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=6ba33a3084ced101683db5a34f2393400a1c6a44

commit 6ba33a3084ced101683db5a34f2393400a1c6a44
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Thu Feb 18 18:15:00 2016 +0900

    elm win: fix window redraw if norender is enabled on withdrawn windows
    
    we dont set this config by default so we dont see this - but a window
    starts as withdrawn then becomes normal. this means the window starts
    not rendering and may take 0.5 seconds to START because the eval is
    deferred by 0.5 sec to avoid rapid switch to/from norender and other
    states.
    
    @fix
---
 src/lib/elm_win.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
index fa17423..398314a 100644
--- a/src/lib/elm_win.c
+++ b/src/lib/elm_win.c
@@ -1596,9 +1596,9 @@ _elm_win_evas_object_smart_show(Eo *obj, Elm_Win_Data *sd)
    if (sd->modal_count) return;
    const Eina_List *l;
    Evas_Object *current;
+   Eina_Bool do_eval = EINA_FALSE;
 
-   if (!evas_object_visible_get(obj))
-     _elm_win_state_eval_queue();
+   if (!evas_object_visible_get(obj)) do_eval = EINA_TRUE;
    eo_do_super(obj, MY_CLASS, evas_obj_smart_show());
 
    if ((sd->modal) && (!evas_object_visible_get(obj)))
@@ -1619,6 +1619,15 @@ _elm_win_evas_object_smart_show(Eo *obj, Elm_Win_Data 
*sd)
            
elm_interface_atspi_accessible_children_changed_added_signal_emit(root, obj);
      }
 
+   if (do_eval)
+     {
+        if (_elm_win_state_eval_timer)
+          {
+             ecore_timer_del(_elm_win_state_eval_timer);
+             _elm_win_state_eval_timer = NULL;
+          }
+        _elm_win_state_eval(NULL);
+     }
    if (sd->shot.info) _shot_handle(sd);
 }
 

-- 


Reply via email to