Implement wxCheckOsVersion() with NSProccessInfo on OS X.
Since OS X 10.10 NSProcessInfo has a method isOperatingSystemAtLeastVersion: which should be used compare the OS version if necessary.
This commit is contained in:
@@ -650,6 +650,28 @@ wxOperatingSystemId wxGetOsVersion(int *majorVsn, int *minorVsn)
|
|||||||
return wxOS_MAC_OSX_DARWIN;
|
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()
|
wxString wxGetOsDescription()
|
||||||
{
|
{
|
||||||
NSString* osDesc = [NSProcessInfo processInfo].operatingSystemVersionString;
|
NSString* osDesc = [NSProcessInfo processInfo].operatingSystemVersionString;
|
||||||
|
@@ -1148,8 +1148,6 @@ wxString wxGetOsDescription()
|
|||||||
return wxGetCommandOutput(wxT("uname -s -r -m"));
|
return wxGetCommandOutput(wxT("uname -s -r -m"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // !__DARWIN__
|
|
||||||
|
|
||||||
bool wxCheckOsVersion(int majorVsn, int minorVsn)
|
bool wxCheckOsVersion(int majorVsn, int minorVsn)
|
||||||
{
|
{
|
||||||
int majorCur, minorCur;
|
int majorCur, minorCur;
|
||||||
@@ -1158,6 +1156,8 @@ bool wxCheckOsVersion(int majorVsn, int minorVsn)
|
|||||||
return majorCur > majorVsn || (majorCur == majorVsn && minorCur >= minorVsn);
|
return majorCur > majorVsn || (majorCur == majorVsn && minorCur >= minorVsn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // !__DARWIN__
|
||||||
|
|
||||||
unsigned long wxGetProcessId()
|
unsigned long wxGetProcessId()
|
||||||
{
|
{
|
||||||
return (unsigned long)getpid();
|
return (unsigned long)getpid();
|
||||||
|
Reference in New Issue
Block a user