forked from enlightenment/efl
ecore-wl2: create surfaces once compositor global is bound
it's expected that surfaces are created when a window exists @fix
This commit is contained in:
parent
03d2c43018
commit
38d18e559d
|
@ -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"))
|
||||
{
|
||||
|
|
|
@ -502,6 +502,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_wl2_window_semi_free(Ecore_Wl2_Window *window);
|
||||
|
|
|
@ -537,7 +537,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;
|
||||
|
|
Loading…
Reference in New Issue