summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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, 10 insertions, 2 deletions
diff --git a/video/out/opengl/context_wayland.c b/video/out/opengl/context_wayland.c
index 59e24ded43..410a490ee7 100644
--- a/video/out/opengl/context_wayland.c
+++ b/video/out/opengl/context_wayland.c
@@ -128,6 +128,8 @@ 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 3583ce3e73..16669466dd 100644
--- a/video/out/vo_wlshm.c
+++ b/video/out/vo_wlshm.c
@@ -194,7 +194,10 @@ static int resize(struct vo *vo)
p->free_buffers = buf->next;
talloc_free(buf);
}
- return mp_sws_reinit(p->sws);
+ int ret = mp_sws_reinit(p->sws);
+ if (!wl->vo_opts->fullscreen && !wl->vo_opts->window_maximized)
+ wl_surface_commit(wl->surface);
+ return ret;
}
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 8c69c2d249..ab295152dd 100644
--- a/video/out/vulkan/context_wayland.c
+++ b/video/out/vulkan/context_wayland.c
@@ -198,7 +198,10 @@ static bool resize(struct ra_ctx *ctx)
const int32_t height = wl->scaling*mp_rect_h(wl->geometry);
wl_surface_set_buffer_scale(wl->surface, wl->scaling);
- return ra_vk_ctx_resize(ctx, width, height);
+ 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;
}
static bool wayland_vk_reconfig(struct ra_ctx *ctx)