diff --git a/src/cocoa_window.m b/src/cocoa_window.m index 69c37565..5387839f 100644 --- a/src/cocoa_window.m +++ b/src/cocoa_window.m @@ -1164,8 +1164,14 @@ void _glfwPlatformSetCursorPos(_GLFWwindow* window, double x, double y) } else { +#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 + const NSRect localRect = NSMakeRect(x, contentRect.size.height - y - 1, 0, 0); + const NSRect globalRect = [window->ns.object convertRectToScreen:localRect]; + const NSPoint globalPoint = globalRect.origin; +#else const NSPoint localPoint = NSMakePoint(x, contentRect.size.height - y - 1); const NSPoint globalPoint = [window->ns.object convertBaseToScreen:localPoint]; +#endif /*MAC_OS_X_VERSION_MAX_ALLOWED*/ CGWarpMouseCursorPosition(CGPointMake(globalPoint.x, transformY(globalPoint.y)));