ecore-evas-wayland: Don't register animators until window gets shown
authorChris Michael <cp.michael@samsung.com>
Mon, 27 Feb 2017 16:08:43 +0000 (11:08 -0500)
committerChris Michael <cp.michael@samsung.com>
Mon, 27 Feb 2017 16:33:57 +0000 (11:33 -0500)
Small patch to not call _ecore_evas_register unless we are showing the
window. This stops creation of rogue animators on cursors until the
window is actually going to be shown.

Fixes T5209

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c

index 505a283..c68978f 100644 (file)
@@ -1776,6 +1776,7 @@ _ecore_evas_wl_common_show(Ecore_Evas *ee)
      {
         int fw, fh;
 
+        _ecore_evas_register(ee);
         evas_output_framespace_get(ee->evas, NULL, NULL, &fw, &fh);
 
         ecore_wl2_window_show(wdata->win);
@@ -2008,6 +2009,8 @@ _ee_cb_sync_done(void *data, int type EINA_UNUSED, void *event EINA_UNUSED)
 
         wdata->defer_show = EINA_FALSE;
 
+        _ecore_evas_register(ee);
+
         ecore_wl2_window_show(wdata->win);
         ecore_wl2_window_alpha_set(wdata->win, ee->alpha);
         ecore_wl2_window_transparent_set(wdata->win, ee->transparent);
@@ -2260,7 +2263,6 @@ _ecore_evas_wl_common_new_internal(const char *disp_name, unsigned int parent, i
 
    ee->engine.func->fn_render = _ecore_evas_wl_common_render;
 
-   _ecore_evas_register(ee);
    ecore_evas_input_event_register(ee);
 
    ecore_event_window_register(ee->prop.window, ee, ee->evas,