Mac: Fix cursor not updating when re-focusing the window.

This fixes a bug where [NSCursor set] doesn't take when called in
certain event handlers (like windowDidBecomeKey:).

http://bugzilla.libsdl.org/show_bug.cgi?id=1795
This commit is contained in:
Jørgen P. Tjernø
2013-04-23 18:47:44 -07:00
parent c62b60671d
commit d35ddf266b

View File

@@ -162,7 +162,13 @@ Cocoa_ShowCursor(SDL_Cursor * cursor)
if (cursor) {
NSCursor *nscursor = (NSCursor *)cursor->driverdata;
[nscursor set];
/* We're possibly executing from an event handler where this operation
* is unsupported. This will execute it in the main Cocoa event loop
* after this returns.
*/
[nscursor performSelectorOnMainThread:@selector(set)
withObject:nil
waitUntilDone:NO];
if (!isShown) {
[NSCursor unhide];