cache return value of wxGetOsVersion
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14289 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -914,31 +914,43 @@ wxString wxGetOsDescription()
|
|||||||
int wxGetOsVersion(int *majorVsn, int *minorVsn)
|
int wxGetOsVersion(int *majorVsn, int *minorVsn)
|
||||||
{
|
{
|
||||||
#if defined(__WIN32__) && !defined(__SC__)
|
#if defined(__WIN32__) && !defined(__SC__)
|
||||||
OSVERSIONINFO info;
|
static int ver = -1, major = -1, minor = -1;
|
||||||
wxZeroMemory(info);
|
|
||||||
|
if ( ver == -1 )
|
||||||
info.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
|
|
||||||
if ( ::GetVersionEx(&info) )
|
|
||||||
{
|
{
|
||||||
if (majorVsn)
|
OSVERSIONINFO info;
|
||||||
*majorVsn = info.dwMajorVersion;
|
wxZeroMemory(info);
|
||||||
if (minorVsn)
|
|
||||||
*minorVsn = info.dwMinorVersion;
|
|
||||||
|
|
||||||
switch ( info.dwPlatformId )
|
ver = wxWINDOWS;
|
||||||
|
info.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
|
||||||
|
if ( ::GetVersionEx(&info) )
|
||||||
{
|
{
|
||||||
case VER_PLATFORM_WIN32s:
|
major = info.dwMajorVersion;
|
||||||
return wxWIN32S;
|
minor = info.dwMinorVersion;
|
||||||
|
|
||||||
case VER_PLATFORM_WIN32_WINDOWS:
|
switch ( info.dwPlatformId )
|
||||||
return wxWIN95;
|
{
|
||||||
|
case VER_PLATFORM_WIN32s:
|
||||||
|
ver = wxWIN32S;
|
||||||
|
break;
|
||||||
|
|
||||||
case VER_PLATFORM_WIN32_NT:
|
case VER_PLATFORM_WIN32_WINDOWS:
|
||||||
return wxWINDOWS_NT;
|
ver = wxWIN95;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case VER_PLATFORM_WIN32_NT:
|
||||||
|
ver = wxWINDOWS_NT;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return wxWINDOWS; // error if we get here, return generic value
|
if (majorVsn && major != -1)
|
||||||
|
*majorVsn = major;
|
||||||
|
if (minorVsn && minor != -1)
|
||||||
|
*minorVsn = minor;
|
||||||
|
|
||||||
|
return ver;
|
||||||
#else // Win16
|
#else // Win16
|
||||||
int retValue = wxWINDOWS;
|
int retValue = wxWINDOWS;
|
||||||
#ifdef __WINDOWS_386__
|
#ifdef __WINDOWS_386__
|
||||||
|
Reference in New Issue
Block a user