Implemented GLFW_AUTO_ICONIFY on OS X.

Fixes #506.
This commit is contained in:
Camilla Berglund 2015-05-06 23:52:39 +02:00
parent 905073a506
commit 9040c64e5b
2 changed files with 6 additions and 3 deletions

View File

@ -65,6 +65,7 @@ GLFW bundles a number of dependencies in the `deps/` directory.
- Bugfix: Initialization failed on headless systems - Bugfix: Initialization failed on headless systems
- Bugfix: The cached current context could get out of sync - Bugfix: The cached current context could get out of sync
- [Cocoa] Bugfix: The cached `NSScreen` for a monitor could get out of sync - [Cocoa] Bugfix: The cached `NSScreen` for a monitor could get out of sync
- [Cocoa] Bugfix: The `GLFW_AUTO_ICONIFY` window hint was ignored
## Contact ## Contact

View File

@ -212,7 +212,7 @@ static NSRect convertRectToBacking(_GLFWwindow* window, NSRect contentRect)
- (void)windowDidBecomeKey:(NSNotification *)notification - (void)windowDidBecomeKey:(NSNotification *)notification
{ {
if (window->monitor) if (window->monitor && window->autoIconify)
enterFullscreenMode(window); enterFullscreenMode(window);
if (_glfw.focusedWindow == window && if (_glfw.focusedWindow == window &&
@ -227,7 +227,7 @@ static NSRect convertRectToBacking(_GLFWwindow* window, NSRect contentRect)
- (void)windowDidResignKey:(NSNotification *)notification - (void)windowDidResignKey:(NSNotification *)notification
{ {
if (window->monitor) if (window->monitor && window->autoIconify)
leaveFullscreenMode(window); leaveFullscreenMode(window);
_glfwInputWindowFocus(window, GL_FALSE); _glfwInputWindowFocus(window, GL_FALSE);
@ -882,6 +882,8 @@ static GLboolean createWindow(_GLFWwindow* window,
if (wndconfig->monitor) if (wndconfig->monitor)
{ {
[window->ns.object setLevel:NSMainMenuWindowLevel + 1]; [window->ns.object setLevel:NSMainMenuWindowLevel + 1];
if (window->autoIconify)
[window->ns.object setHidesOnDeactivate:YES]; [window->ns.object setHidesOnDeactivate:YES];
} }
else else