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;