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

--HG--
extra : histedit_source : 3f150addd3b1b7bc6397aba60ccf05f9065ffb8c
This commit is contained in:
Jørgen P. Tjernø 2013-04-23 18:47:44 -07:00
parent 059ea2c1c6
commit 7d048468d3

View file

@ -162,7 +162,13 @@ Cocoa_ShowCursor(SDL_Cursor * cursor)
if (cursor) { if (cursor) {
NSCursor *nscursor = (NSCursor *)cursor->driverdata; 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) { if (!isShown) {
[NSCursor unhide]; [NSCursor unhide];