From 2891c9629ff680d790cc09138248e57b7384d995 Mon Sep 17 00:00:00 2001 From: Camilla Berglund Date: Mon, 22 Apr 2013 00:12:25 +0200 Subject: [PATCH] Fixed hidden cursor mode on OS X. --- src/cocoa_window.m | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/cocoa_window.m b/src/cocoa_window.m index 12cb384e..3a5ee139 100644 --- a/src/cocoa_window.m +++ b/src/cocoa_window.m @@ -511,6 +511,7 @@ static int convertMacKeyCode(unsigned int macKeyCode) - (void)resetCursorRects { + [self discardCursorRects]; [self addCursorRect:[self bounds] cursor:_glfw.ns.cursor]; } @@ -726,6 +727,7 @@ static GLboolean createWindow(_GLFWwindow* window, [window->ns.object setContentView:window->ns.view]; [window->ns.object setDelegate:window->ns.delegate]; [window->ns.object setAcceptsMouseMovedEvents:YES]; + [window->ns.object disableCursorRects]; [window->ns.object center]; if ([window->ns.object respondsToSelector:@selector(setRestorable:)]) @@ -949,12 +951,15 @@ void _glfwPlatformSetCursorMode(_GLFWwindow* window, int mode) { case GLFW_CURSOR_NORMAL: [window->ns.object disableCursorRects]; + [window->ns.object invalidateCursorRectsForView:window->ns.view]; break; case GLFW_CURSOR_HIDDEN: [window->ns.object enableCursorRects]; + [window->ns.object invalidateCursorRectsForView:window->ns.view]; break; case GLFW_CURSOR_CAPTURED: [window->ns.object enableCursorRects]; + [window->ns.object invalidateCursorRectsForView:window->ns.view]; CGAssociateMouseAndMouseCursorPosition(false); break; }