discomfitor pushed a commit to branch efl-1.19. http://git.enlightenment.org/core/efl.git/commit/?id=90d0701f43777a7e2bf8e66cc0466cd1d0809671
commit 90d0701f43777a7e2bf8e66cc0466cd1d0809671 Author: Mike Blumenkrantz <[email protected]> Date: Fri Jul 7 16:26:50 2017 -0400 ecore-wl2: create surfaces once compositor global is bound it's expected that surfaces are created when a window exists @fix --- src/lib/ecore_wl2/ecore_wl2_display.c | 3 +++ src/lib/ecore_wl2/ecore_wl2_private.h | 1 + src/lib/ecore_wl2/ecore_wl2_window.c | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_wl2/ecore_wl2_display.c b/src/lib/ecore_wl2/ecore_wl2_display.c index 9f1ceadb75..1e91624006 100644 --- a/src/lib/ecore_wl2/ecore_wl2_display.c +++ b/src/lib/ecore_wl2/ecore_wl2_display.c @@ -138,10 +138,13 @@ _cb_global_add(void *data, struct wl_registry *registry, unsigned int id, const if (!strcmp(interface, "wl_compositor")) { + Ecore_Wl2_Window *window; ewd->wl.compositor_version = MIN(version, 4); ewd->wl.compositor = wl_registry_bind(registry, id, &wl_compositor_interface, ewd->wl.compositor_version); + EINA_INLIST_FOREACH(ewd->windows, window) + _ecore_wl2_window_surface_create(window); } else if (!strcmp(interface, "wl_subcompositor")) { diff --git a/src/lib/ecore_wl2/ecore_wl2_private.h b/src/lib/ecore_wl2/ecore_wl2_private.h index 92eb127116..110f2c112c 100644 --- a/src/lib/ecore_wl2/ecore_wl2_private.h +++ b/src/lib/ecore_wl2/ecore_wl2_private.h @@ -476,6 +476,7 @@ void _ecore_wl2_dnd_del(Ecore_Wl2_Dnd_Source *source); void _ecore_wl2_subsurf_unmap(Ecore_Wl2_Subsurface *subsurf); void _ecore_wl2_subsurf_free(Ecore_Wl2_Subsurface *subsurf); +void _ecore_wl2_window_surface_create(Ecore_Wl2_Window *window); void _ecore_wl2_window_shell_surface_init(Ecore_Wl2_Window *window); void _ecore_wl2_window_www_surface_init(Ecore_Wl2_Window *window); void _ecore_wl_window_semi_free(Ecore_Wl2_Window *window); diff --git a/src/lib/ecore_wl2/ecore_wl2_window.c b/src/lib/ecore_wl2/ecore_wl2_window.c index b141fcfb92..fe5a22482a 100644 --- a/src/lib/ecore_wl2/ecore_wl2_window.c +++ b/src/lib/ecore_wl2/ecore_wl2_window.c @@ -522,7 +522,7 @@ surf_err: ERR("Failed to create surface for window"); } -static void +void _ecore_wl2_window_surface_create(Ecore_Wl2_Window *window) { if (!window->display->wl.compositor) return; --
