diff --git a/docs/changelog.rst b/docs/changelog.rst index afdf4ecfa..9d253f522 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -40,6 +40,9 @@ Detailed list of changes - Reduce startup latency by ~50 milliseconds when running kittens via key-bindings or remote control (:iss:`5159`) +- Wayland: Fix a regression in the previous release that caused mouse cursor + animation and keyboard repeat to stop working when switching seats (:iss:`5188`) + 0.25.2 [2022-06-07] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/glfw/wl_init.c b/glfw/wl_init.c index eeddcf9f0..383ed86e1 100644 --- a/glfw/wl_init.c +++ b/glfw/wl_init.c @@ -573,10 +573,7 @@ static void seatHandleCapabilities(void* data UNUSED, { wl_pointer_destroy(_glfw.wl.pointer); _glfw.wl.pointer = NULL; - if (_glfw.wl.cursorAnimationTimer) { - removeTimer(&_glfw.wl.eventLoopData, _glfw.wl.cursorAnimationTimer); - _glfw.wl.cursorAnimationTimer = 0; - } + if (_glfw.wl.cursorAnimationTimer) toggleTimer(&_glfw.wl.eventLoopData, _glfw.wl.cursorAnimationTimer, 0); } if ((caps & WL_SEAT_CAPABILITY_KEYBOARD) && !_glfw.wl.keyboard) @@ -589,10 +586,7 @@ static void seatHandleCapabilities(void* data UNUSED, wl_keyboard_destroy(_glfw.wl.keyboard); _glfw.wl.keyboard = NULL; _glfw.wl.keyboardFocusId = 0; - if (_glfw.wl.keyRepeatInfo.keyRepeatTimer) { - removeTimer(&_glfw.wl.eventLoopData, _glfw.wl.keyRepeatInfo.keyRepeatTimer); - _glfw.wl.keyRepeatInfo.keyRepeatTimer = 0; - } + if (_glfw.wl.keyRepeatInfo.keyRepeatTimer) toggleTimer(&_glfw.wl.eventLoopData, _glfw.wl.keyRepeatInfo.keyRepeatTimer, 0); } }