From 44c5c150829989575aa875a05aaac3ae3b6f99eb Mon Sep 17 00:00:00 2001 From: Luiz Sardinha Date: Wed, 29 Apr 2026 23:50:21 +0200 Subject: [PATCH] fix(mac): prevent cursor warps from outside quartz event loop (if active) --- src/lib/platform/OSXScreen.mm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/lib/platform/OSXScreen.mm b/src/lib/platform/OSXScreen.mm index c1ad2fc09..1a86c391a 100644 --- a/src/lib/platform/OSXScreen.mm +++ b/src/lib/platform/OSXScreen.mm @@ -262,6 +262,14 @@ uint32_t OSXScreen::activeSides() void OSXScreen::warpCursor(int32_t x, int32_t y) { + if (m_eventTapRunLoop && CFRunLoopGetCurrent() != m_eventTapRunLoop) { + CFRunLoopPerformBlock(m_eventTapRunLoop, kCFRunLoopDefaultMode, ^{ + warpCursor(x, y); + }); + CFRunLoopWakeUp(m_eventTapRunLoop); + return; + } + // move cursor without generating events CGPoint pos; pos.x = x;