From 88a3b54ca3d0732db8a89b62d3373c66c970327f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Fri, 5 Apr 2024 16:19:47 +0200 Subject: [PATCH] wayland: only use the surface preferred scale if set by the compositor Before this patch, we would, in some cases, fallback to the surface preferred (not fractional) scaling, even though the compositor hadn't actually published a preferred buffer scale; the presence of a v6 compositor interface doesn't mean we've actually received a preferred scale yet. --- terminal.c | 2 +- wayland.c | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/terminal.c b/terminal.c index e4396585..6144bacb 100644 --- a/terminal.c +++ b/terminal.c @@ -2125,7 +2125,7 @@ term_fractional_scaling(const struct terminal *term) bool term_preferred_buffer_scale(const struct terminal *term) { - return term->wl->has_wl_compositor_v6; + return term->wl->has_wl_compositor_v6 && term->window->preferred_buffer_scale > 0; } bool diff --git a/wayland.c b/wayland.c index 2645c4ab..1d9d3cdf 100644 --- a/wayland.c +++ b/wayland.c @@ -1738,10 +1738,6 @@ wayl_win_init(struct terminal *term, const char *token) win->fractional_scale, &fractional_scale_listener, win); } - if (wayl->has_wl_compositor_v6) { - win->preferred_buffer_scale = 1; - } - win->xdg_surface = xdg_wm_base_get_xdg_surface(wayl->shell, win->surface.surf); xdg_surface_add_listener(win->xdg_surface, &xdg_surface_listener, win);