[Bf-blender-cvs] [ee812ce] master: OSX: Ideasman does not like using utsname, so i use the always satisfactorily working sysctl method now for runtime OS detection

Jens Verwiebe noreply at git.blender.org
Fri Jun 6 22:07:53 CEST 2014


Commit: ee812ce8804194c811b809ffa3bb24dd40bc11d8
Author: Jens Verwiebe
Date:   Fri Jun 6 22:06:26 2014 +0200
https://developer.blender.org/rBee812ce8804194c811b809ffa3bb24dd40bc11d8

OSX: Ideasman does not like using utsname, so i use the always satisfactorily working sysctl method now for runtime OS detection

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

M	intern/ghost/intern/GHOST_WindowCocoa.mm

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

diff --git a/intern/ghost/intern/GHOST_WindowCocoa.mm b/intern/ghost/intern/GHOST_WindowCocoa.mm
index f833fb3..cc324d3 100644
--- a/intern/ghost/intern/GHOST_WindowCocoa.mm
+++ b/intern/ghost/intern/GHOST_WindowCocoa.mm
@@ -44,8 +44,7 @@
 #include "GHOST_SystemCocoa.h"
 #include "GHOST_Debug.h"
 
-/* OSX version detection @ runtime */
-#include <sys/utsname.h>
+#include <sys/sysctl.h>
 
 #if MAC_OS_X_VERSION_MAX_ALLOWED < 1070
 /* Lion style fullscreen support when building with the 10.6 SDK */
@@ -731,9 +730,10 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(
 
 	//Starting with 10.9 (darwin 13.x.x), we always use Lion fullscreen, since it
 	//now has proper multi-monitor support for fullscreen
-	struct utsname retval;
-	uname(&retval);
-	if (retval.release[0] == '1' && retval.release[1] <= '3') {
+	char darwin_ver[10];
+	size_t len = sizeof(darwin_ver);
+	sysctlbyname("kern.osrelease", &darwin_ver, &len, NULL, 0);
+	if(darwin_ver[0] == '1' && darwin_ver[1] <= '3') {
 		m_lionStyleFullScreen = true;
 	}




More information about the Bf-blender-cvs mailing list