From 3314165a668b46f5a0863d99a3f5b2bc602a41ff Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 3 Feb 2014 16:45:51 +0100 Subject: Fix T38452: on OS X 10.9, now always use Lion style fullscreen. On earlier versions there is no proper multi-monitor support, so we leave the choice still. But for 10.9 this just interacts better with other elements like spaces and the dock. --- intern/ghost/intern/GHOST_WindowCocoa.mm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'intern') diff --git a/intern/ghost/intern/GHOST_WindowCocoa.mm b/intern/ghost/intern/GHOST_WindowCocoa.mm index de2ae79d0b6..93036da4dae 100644 --- a/intern/ghost/intern/GHOST_WindowCocoa.mm +++ b/intern/ghost/intern/GHOST_WindowCocoa.mm @@ -1038,6 +1038,16 @@ GHOST_TSuccess GHOST_WindowCocoa::setState(GHOST_TWindowState state) NSUInteger masks = [m_window styleMask]; if (!m_fullScreen && !(masks & NSFullScreenWindowMask)) { + /* Starting with 10.9, we always use Lion fullscreen, since it + * now has proper multi-monitor support for fullscreen */ + struct { SInt32 major, minor; } systemversion; + Gestalt(gestaltSystemVersionMajor, &systemversion.major); + Gestalt(gestaltSystemVersionMinor, &systemversion.minor); + + if (systemversion.major > 10 || (systemversion.major == 10 && systemversion.minor >= 9)) { + [m_window toggleFullScreen:nil]; + break; + } #else if (!m_fullScreen) { #endif @@ -1100,7 +1110,7 @@ GHOST_TSuccess GHOST_WindowCocoa::setState(GHOST_TWindowState state) m_systemCocoa->handleWindowEvent(GHOST_kEventWindowSize, this); [pool drain]; - } + } break; } case GHOST_kWindowStateNormal: -- cgit v1.2.3