From f14b45588e7804388c2e2a98cbc5e91ce21942dd Mon Sep 17 00:00:00 2001 From: Alexander Preisinger Date: Sun, 15 Jun 2014 14:27:12 +0200 Subject: wayland: attach NULL surface on osd creation When using the EGL output the subsurfaces have no buffer attached and the size seems to be infinite. Fix this by attaching a NULL buffer. Fixes #846 --- video/out/wayland_common.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/video/out/wayland_common.c b/video/out/wayland_common.c index 80b5ca7f29..005408751e 100644 --- a/video/out/wayland_common.c +++ b/video/out/wayland_common.c @@ -771,13 +771,16 @@ static bool create_window (struct vo_wayland_state *wl) for (int i = 0; i < MAX_OSD_PARTS; ++i) { wl->window.osd_surfaces[i] = wl_compositor_create_surface(wl->display.compositor); + wl_surface_attach(wl->window.osd_surfaces[i], NULL, 0, 0); wl_surface_set_input_region(wl->window.osd_surfaces[i], input); wl->window.osd_subsurfaces[i] = wl_subcompositor_get_subsurface(wl->display.subcomp, wl->window.osd_surfaces[i], wl->window.video_surface); // parent + wl_surface_commit(wl->window.osd_surfaces[i]); wl_subsurface_set_sync(wl->window.osd_subsurfaces[i]); } + wl_region_destroy(input); if (!wl->window.shell_surface) { -- cgit v1.2.3