diff --git a/src/osx/cocoa/utils.mm b/src/osx/cocoa/utils.mm index 8e20c9dd3c..7faa2bc61b 100644 --- a/src/osx/cocoa/utils.mm +++ b/src/osx/cocoa/utils.mm @@ -650,6 +650,28 @@ wxOperatingSystemId wxGetOsVersion(int *majorVsn, int *minorVsn) return wxOS_MAC_OSX_DARWIN; } +bool wxCheckOsVersion(int majorVsn, int minorVsn) +{ +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_10 + if ([NSProcessInfo instancesRespondToSelector:@selector(isOperatingSystemAtLeastVersion:)]) + { + NSOperatingSystemVersion osVer; + osVer.majorVersion = majorVsn; + osVer.minorVersion = minorVsn; + osVer.patchVersion = 0; + + return [[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion:osVer] != NO; + } + else +#endif + { + int majorCur, minorCur; + wxGetOsVersion(&majorCur, &minorCur); + + return majorCur > majorVsn || (majorCur == majorVsn && minorCur >= minorVsn); + } +} + wxString wxGetOsDescription() { NSString* osDesc = [NSProcessInfo processInfo].operatingSystemVersionString; diff --git a/src/unix/utilsunx.cpp b/src/unix/utilsunx.cpp index cc53be2b0f..2a403b1a4d 100644 --- a/src/unix/utilsunx.cpp +++ b/src/unix/utilsunx.cpp @@ -1148,8 +1148,6 @@ wxString wxGetOsDescription() return wxGetCommandOutput(wxT("uname -s -r -m")); } -#endif // !__DARWIN__ - bool wxCheckOsVersion(int majorVsn, int minorVsn) { int majorCur, minorCur; @@ -1158,6 +1156,8 @@ bool wxCheckOsVersion(int majorVsn, int minorVsn) return majorCur > majorVsn || (majorCur == majorVsn && minorCur >= minorVsn); } +#endif // !__DARWIN__ + unsigned long wxGetProcessId() { return (unsigned long)getpid();