diff options
author | Alexander Preisinger <alexander.preisinger@gmail.com> | 2014-01-04 13:57:47 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-01-06 20:21:55 +0100 |
commit | 4326fdfe2addce63eae1cb56d29c7df5fea9fc20 (patch) | |
tree | c0af6c1d6267cdf13b5faee226c1faef956132f4 /video | |
parent | 9755850b3d22a4729ee370fb101249d3de8d661e (diff) | |
download | mpv-4326fdfe2addce63eae1cb56d29c7df5fea9fc20.tar.bz2 mpv-4326fdfe2addce63eae1cb56d29c7df5fea9fc20.tar.xz |
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.
Diffstat (limited to 'video')
-rw-r--r-- | video/out/wayland_common.c | 9 |
1 files 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; |