diff --git a/docs/changes.txt b/docs/changes.txt index 0d0b99255f..4023793277 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -455,6 +455,8 @@ All (GUI): OSX: - Implement wxRegion::Equal() (Dr.Acula). +- wxGetOsVersion() now returns more sensible version numbers, e.g. 10 and 6 + for OS X 10.6. GTK: diff --git a/src/osx/core/utilsexc_base.cpp b/src/osx/core/utilsexc_base.cpp index e1a8a61e0d..84f8a0e3a3 100644 --- a/src/osx/core/utilsexc_base.cpp +++ b/src/osx/core/utilsexc_base.cpp @@ -77,6 +77,19 @@ long UMAGetSystemVersion() // our OS version is the same in non GUI and GUI cases wxOperatingSystemId wxGetOsVersion(int *majorVsn, int *minorVsn) { + // This returns 10 and 6 for OS X 10.6, consistent with behaviour on + // other platforms. + SInt32 maj, min; + Gestalt(gestaltSystemVersionMajor, &maj); + Gestalt(gestaltSystemVersionMinor, &min); + + if ( majorVsn != NULL ) + *majorVsn = maj; + + if ( minorVsn != NULL ) + *minorVsn = min; + +#if 0 SInt32 theSystem; Gestalt(gestaltSystemVersion, &theSystem); @@ -85,7 +98,7 @@ wxOperatingSystemId wxGetOsVersion(int *majorVsn, int *minorVsn) if ( minorVsn != NULL ) *minorVsn = (theSystem & 0xFF); - +#endif return wxOS_MAC_OSX_DARWIN; }