diff options
-rw-r--r-- | video/out/wayland_common.c | 8 | ||||
-rw-r--r-- | video/out/wayland_common.h | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/video/out/wayland_common.c b/video/out/wayland_common.c index 8abe34b5dd..2bc9cf3297 100644 --- a/video/out/wayland_common.c +++ b/video/out/wayland_common.c @@ -782,6 +782,11 @@ static void handle_toplevel_config(void *data, struct xdg_toplevel *toplevel, struct mp_vo_opts *vo_opts = wl->vo_opts; struct mp_rect old_geometry = wl->geometry; + int old_toplevel_width = wl->toplevel_width; + int old_toplevel_height = wl->toplevel_height; + wl->toplevel_width = width; + wl->toplevel_height = height; + /* Don't do anything here if we haven't finished setting geometry. */ if (mp_rect_w(wl->geometry) == 0 || mp_rect_h(wl->geometry) == 0) return; @@ -858,7 +863,8 @@ static void handle_toplevel_config(void *data, struct xdg_toplevel *toplevel, } } - if (width == 0 || height == 0) + if (old_toplevel_width == wl->toplevel_width && + old_toplevel_height == wl->toplevel_height) return; if (!is_fullscreen && !is_maximized) { diff --git a/video/out/wayland_common.h b/video/out/wayland_common.h index 23dfd81294..b77bab462b 100644 --- a/video/out/wayland_common.h +++ b/video/out/wayland_common.h @@ -50,6 +50,8 @@ struct vo_wayland_state { int gcd; int reduced_height; int reduced_width; + int toplevel_width; + int toplevel_height; /* State */ bool activated; |