summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDudemanguy <random342@airmail.cc>2020-11-08 09:51:52 -0600
committerDudemanguy <random342@airmail.cc>2020-11-08 09:51:52 -0600
commitdae6b1be967b6767409005e6edc7a8021fd98fe8 (patch)
tree5bf9a898946b1811d4fdcf26299a72476adccd09
parent790647314ca85cd224272638a73780b0bdfd1deb (diff)
downloadmpv-dae6b1be967b6767409005e6edc7a8021fd98fe8.tar.bz2
mpv-dae6b1be967b6767409005e6edc7a8021fd98fe8.tar.xz
Revert "wayland: conditionally commit surface on resize"
30dcfbc is a workaround for incorrect border sizes that could occur on sway/wlroots in certain edge cases. This seemed harmless enough, but it turns out that on mutter the extra wl_surface_commit somehow causes the window always go to the top left of the screen after you leave fullscreen. No idea why this occurs, but the original commit is a workaround a sway bug and causing regressions for other users isn't right despite the author being biased towards sway/wlroots. This reverts commit 30dcfbc9cb3f77dbb729fb6f95ffde7dbdddc4cb.
-rw-r--r--video/out/opengl/context_wayland.c2
-rw-r--r--video/out/vo_wlshm.c5
-rw-r--r--video/out/vulkan/context_wayland.c5
3 files changed, 2 insertions, 10 deletions
diff --git a/video/out/opengl/context_wayland.c b/video/out/opengl/context_wayland.c
index 95ea9f65e0..9b50dda702 100644
--- a/video/out/opengl/context_wayland.c
+++ b/video/out/opengl/context_wayland.c
@@ -128,8 +128,6 @@ static void resize(struct ra_ctx *ctx)
if (p->egl_window)
wl_egl_window_resize(p->egl_window, width, height, 0, 0);
- if (!wl->vo_opts->fullscreen && !wl->vo_opts->window_maximized)
- wl_surface_commit(wl->surface);
wl->vo->dwidth = width;
wl->vo->dheight = height;
}
diff --git a/video/out/vo_wlshm.c b/video/out/vo_wlshm.c
index dbfa386789..f6c37714da 100644
--- a/video/out/vo_wlshm.c
+++ b/video/out/vo_wlshm.c
@@ -219,10 +219,7 @@ static int resize(struct vo *vo)
p->free_buffers = buf->next;
talloc_free(buf);
}
- int ret = mp_sws_reinit(p->sws);
- if (!wl->vo_opts->fullscreen && !wl->vo_opts->window_maximized)
- wl_surface_commit(wl->surface);
- return ret;
+ return mp_sws_reinit(p->sws);
}
static int control(struct vo *vo, uint32_t request, void *data)
diff --git a/video/out/vulkan/context_wayland.c b/video/out/vulkan/context_wayland.c
index 7e6beb3bdd..98bc8afcfc 100644
--- a/video/out/vulkan/context_wayland.c
+++ b/video/out/vulkan/context_wayland.c
@@ -210,10 +210,7 @@ static bool resize(struct ra_ctx *ctx)
vo_wayland_set_opaque_region(wl, ctx->opts.want_alpha);
wl_surface_set_buffer_scale(wl->surface, wl->scaling);
- bool ok = ra_vk_ctx_resize(ctx, width, height);
- if (!wl->vo_opts->fullscreen && !wl->vo_opts->window_maximized)
- wl_surface_commit(wl->surface);
- return ok;
+ return ra_vk_ctx_resize(ctx, width, height);
}
static bool wayland_vk_reconfig(struct ra_ctx *ctx)