[Bf-blender-cvs] [3314165] master: Fix T38452: on OS X 10.9, now always use Lion style fullscreen.

Brecht Van Lommel noreply at git.blender.org
Mon Feb 3 16:48:44 CET 2014


Commit: 3314165a668b46f5a0863d99a3f5b2bc602a41ff
Author: Brecht Van Lommel
Date:   Mon Feb 3 16:45:51 2014 +0100
https://developer.blender.org/rB3314165a668b46f5a0863d99a3f5b2bc602a41ff

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.

===================================================================

M	intern/ghost/intern/GHOST_WindowCocoa.mm

===================================================================

diff --git a/intern/ghost/intern/GHOST_WindowCocoa.mm b/intern/ghost/intern/GHOST_WindowCocoa.mm
index de2ae79..93036da 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:




More information about the Bf-blender-cvs mailing list