From a29b5f38c6b93ee1948654303a2758a470078009 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Camilla=20L=C3=B6wy?= Date: Thu, 3 Nov 2022 20:54:32 +0100 Subject: [PATCH] Wayland: Stop manually tracking interface versions This is already tracked by the proxies we care about. (cherry picked from commit 4cf510511ca067af7c028c98b2cb90695199052f) --- src/wl_init.c | 8 +++----- src/wl_platform.h | 3 --- src/wl_window.c | 5 ++++- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/wl_init.c b/src/wl_init.c index 359bfe0a..90ec449f 100644 --- a/src/wl_init.c +++ b/src/wl_init.c @@ -61,10 +61,9 @@ static void registryHandleGlobal(void* userData, { if (strcmp(interface, "wl_compositor") == 0) { - _glfw.wl.compositorVersion = _glfw_min(3, version); _glfw.wl.compositor = wl_registry_bind(registry, name, &wl_compositor_interface, - _glfw.wl.compositorVersion); + _glfw_min(3, version)); } else if (strcmp(interface, "wl_subcompositor") == 0) { @@ -84,10 +83,9 @@ static void registryHandleGlobal(void* userData, { if (!_glfw.wl.seat) { - _glfw.wl.seatVersion = _glfw_min(4, version); _glfw.wl.seat = wl_registry_bind(registry, name, &wl_seat_interface, - _glfw.wl.seatVersion); + _glfw_min(4, version)); _glfwAddSeatListenerWayland(_glfw.wl.seat); } } @@ -460,7 +458,7 @@ int _glfwPlatformInit(void) _glfwInitTimerPOSIX(); #ifdef WL_KEYBOARD_REPEAT_INFO_SINCE_VERSION - if (_glfw.wl.seatVersion >= WL_KEYBOARD_REPEAT_INFO_SINCE_VERSION) + if (wl_seat_get_version(_glfw.wl.seat) >= WL_KEYBOARD_REPEAT_INFO_SINCE_VERSION) { _glfw.wl.keyRepeatTimerfd = timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC | TFD_NONBLOCK); diff --git a/src/wl_platform.h b/src/wl_platform.h index e5749660..8e5714bb 100644 --- a/src/wl_platform.h +++ b/src/wl_platform.h @@ -257,9 +257,6 @@ typedef struct _GLFWlibraryWayland _GLFWwindow* dragFocus; uint32_t dragSerial; - int compositorVersion; - int seatVersion; - struct wl_cursor_theme* cursorTheme; struct wl_cursor_theme* cursorThemeHiDPI; struct wl_surface* cursorSurface; diff --git a/src/wl_window.c b/src/wl_window.c index 123039dd..e4335295 100644 --- a/src/wl_window.c +++ b/src/wl_window.c @@ -381,8 +381,11 @@ static void resizeWindow(_GLFWwindow* window) void _glfwUpdateContentScaleWayland(_GLFWwindow* window) { - if (_glfw.wl.compositorVersion < WL_SURFACE_SET_BUFFER_SCALE_SINCE_VERSION) + if (wl_compositor_get_version(_glfw.wl.compositor) < + WL_SURFACE_SET_BUFFER_SCALE_SINCE_VERSION) + { return; + } // Get the scale factor from the highest scale monitor. int maxScale = 1;