From 321062833a6c452d805b5af6b8fbd646e31aeddc Mon Sep 17 00:00:00 2001 From: Emmanuel Gil Peyrot Date: Tue, 11 Sep 2018 14:18:52 +0200 Subject: [PATCH] Wayland: Load a bigger cursor theme for HiDPI --- src/wl_init.c | 4 ++++ src/wl_platform.h | 1 + 2 files changed, 5 insertions(+) diff --git a/src/wl_init.c b/src/wl_init.c index 8e987db5..94eb621f 100644 --- a/src/wl_init.c +++ b/src/wl_init.c @@ -1067,6 +1067,8 @@ int _glfwPlatformInit(void) "Wayland: Unable to load default cursor theme"); return GLFW_FALSE; } + // If this happens to be NULL, we just fallback to the scale=1 version. + _glfw.wl.cursorThemeHiDPI = wl_cursor_theme_load(NULL, 64, _glfw.wl.shm); _glfw.wl.cursorSurface = wl_compositor_create_surface(_glfw.wl.compositor); _glfw.wl.cursorTimerfd = timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC); @@ -1105,6 +1107,8 @@ void _glfwPlatformTerminate(void) if (_glfw.wl.cursorTheme) wl_cursor_theme_destroy(_glfw.wl.cursorTheme); + if (_glfw.wl.cursorThemeHiDPI) + wl_cursor_theme_destroy(_glfw.wl.cursorThemeHiDPI); if (_glfw.wl.cursor.handle) { _glfw_dlclose(_glfw.wl.cursor.handle); diff --git a/src/wl_platform.h b/src/wl_platform.h index 1c9d9e05..1535f16b 100644 --- a/src/wl_platform.h +++ b/src/wl_platform.h @@ -240,6 +240,7 @@ typedef struct _GLFWlibraryWayland int seatVersion; struct wl_cursor_theme* cursorTheme; + struct wl_cursor_theme* cursorThemeHiDPI; struct wl_surface* cursorSurface; int cursorTimerfd; uint32_t pointerSerial;