From 4326fdfe2addce63eae1cb56d29c7df5fea9fc20 Mon Sep 17 00:00:00 2001 From: Alexander Preisinger Date: Sat, 4 Jan 2014 13:57:47 +0100 Subject: wayland: move workaround to fullscreen code Because of this workaround there was a bug in the wayland vo. Now it works on both vos (opengl and shm) as it should. --- video/out/wayland_common.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/video/out/wayland_common.c b/video/out/wayland_common.c index 1a4414da3d..3aa087b4aa 100644 --- a/video/out/wayland_common.c +++ b/video/out/wayland_common.c @@ -808,12 +808,16 @@ static void vo_wayland_border (struct vo *vo) static void vo_wayland_fullscreen (struct vo *vo) { struct vo_wayland_state *wl = vo->wayland; - if (!wl->display.shell || !!vo->opts->fullscreen == wl->window.is_fullscreen) + if (!wl->display.shell) return; struct wl_output *fs_output = wl->display.fs_output; if (vo->opts->fullscreen) { + if (!!vo->opts->fullscreen == wl->window.is_fullscreen) + vo_wayland_ontop(vo); // workaround for weston bug + // switch back to toplevel first before going fullscreen again + MP_DBG(wl, "going fullscreen\n"); wl->window.is_fullscreen = true; wl->window.p_width = wl->window.width; @@ -984,9 +988,6 @@ bool vo_wayland_config (struct vo *vo, uint32_t d_width, wl->window.p_height = d_height; wl->window.aspect = wl->window.width / (float) MPMAX(wl->window.height, 1); - vo_wayland_ontop(vo); // workaround for the weston fullscreen bug - // I can't set fullscreen twice so I need to change back and forth to get - // the right configure event from weston. vo_wayland_fullscreen(vo); return true; -- cgit v1.2.3