Return wxWinVersion_[78] correctly from wxMSW wxGetWinVersion().

This is especially important because the workaround of r76152 for IFileDialog
bug under Windows Vista also applied under later Windows versions as they were
not detected correctly.

Closes #16286.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2014-05-22 20:35:50 +00:00
parent 5de9b53902
commit d2d7a07b7a
2 changed files with 16 additions and 4 deletions

View File

@ -897,6 +897,7 @@ inline wxString wxGetFullModuleName()
// 0x0502 Windows XP SP2, 2003 SP1
// 0x0600 Windows Vista, 2008
// 0x0601 Windows 7
// 0x0602 Windows 8 (currently also returned for 8.1)
//
// for the other Windows versions 0 is currently returned
enum wxWinVersion
@ -924,7 +925,9 @@ enum wxWinVersion
wxWinVersion_Vista = wxWinVersion_6,
wxWinVersion_NT6 = wxWinVersion_6,
wxWinVersion_7 = 0x601
wxWinVersion_7 = 0x601,
wxWinVersion_8 = 0x602
};
WXDLLIMPEXP_BASE wxWinVersion wxGetWinVersion();

View File

@ -1351,10 +1351,19 @@ wxWinVersion wxGetWinVersion()
break;
case 6:
return wxWinVersion_NT6;
}
break;
switch ( verMin )
{
case 0:
return wxWinVersion_Vista;
case 1:
return wxWinVersion_7;
case 2:
return wxWinVersion_8;
}
break;
}
default:
// Do nothing just to silence GCC warning
break;