summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Preisinger <alexander.preisinger@gmail.com>2014-01-04 13:57:47 +0100
committerwm4 <wm4@nowhere>2014-01-06 20:21:55 +0100
commit4326fdfe2addce63eae1cb56d29c7df5fea9fc20 (patch)
treec0af6c1d6267cdf13b5faee226c1faef956132f4
parent9755850b3d22a4729ee370fb101249d3de8d661e (diff)
downloadmpv-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.
-rw-r--r--video/out/wayland_common.c9
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;