Changeset - r22779:91258f0e49f5
[Not reviewed]
master
0 2 0
Michael Lutz - 6 years ago 2018-01-28 22:02:22
michi@icosahedron.de
Codechange: [OSX] Use 10.10+ API to get the OSX version when available.
2 files changed with 27 insertions and 0 deletions:
0 comments (0 inline, 0 general)
src/os/macosx/macos.mm
Show inline comments
 
@@ -31,6 +31,16 @@
 
 */
 

	
 

	
 
#if (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_10)
 
typedef struct {
 
	NSInteger majorVersion;
 
	NSInteger minorVersion;
 
	NSInteger patchVersion;
 
} OTTDOperatingSystemVersion;
 

	
 
#define NSOperatingSystemVersion OTTDOperatingSystemVersion
 
#endif
 

	
 
/**
 
 * Get the version of the MacOS we are running under. Code adopted
 
 * from http://www.cocoadev.com/index.pl?DeterminingOSVersion
 
@@ -44,6 +54,19 @@ void GetMacOSVersion(int *return_major, 
 
	*return_major = -1;
 
	*return_minor = -1;
 
	*return_bugfix = -1;
 

	
 
	if ([[ NSProcessInfo processInfo] respondsToSelector:@selector(operatingSystemVersion) ]) {
 
		IMP sel = [ [ NSProcessInfo processInfo] methodForSelector:@selector(operatingSystemVersion) ];
 
		NSOperatingSystemVersion ver = ((NSOperatingSystemVersion (*)(id, SEL))sel)([ NSProcessInfo processInfo], @selector(operatingSystemVersion));
 

	
 
		*return_major = (int)ver.majorVersion;
 
		*return_minor = (int)ver.minorVersion;
 
		*return_bugfix = (int)ver.patchVersion;
 

	
 
		return;
 
	}
 

	
 
#if (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_10)
 
	SInt32 systemVersion, version_major, version_minor, version_bugfix;
 
	if (Gestalt(gestaltSystemVersion, &systemVersion) == noErr) {
 
		if (systemVersion >= 0x1040) {
 
@@ -56,6 +79,7 @@ void GetMacOSVersion(int *return_major, 
 
			*return_bugfix = (int)GB(systemVersion, 0, 4);
 
		}
 
	}
 
#endif
 
}
 

	
 
#ifdef WITH_SDL
src/os/macosx/osx_stdafx.h
Show inline comments
 
@@ -53,6 +53,9 @@
 
#define MAC_OS_X_VERSION_10_9 1090
 
#endif
 

	
 
#ifndef MAC_OS_X_VERSION_10_10
 
#define MAC_OS_X_VERSION_10_10 101000
 
#endif
 

	
 
#define __STDC_LIMIT_MACROS
 
#include <stdint.h>
0 comments (0 inline, 0 general)