From 6ebd5eed16313607f7c58bc35ddf2e15e4f0487c Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 22 May 2014 20:33:48 +0000 Subject: [PATCH] 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/branches/WX_3_0_BRANCH@76599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/msw/private.h | 5 ++++- src/msw/utils.cpp | 15 ++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/include/wx/msw/private.h b/include/wx/msw/private.h index 0f966b841b..a6b3f76396 100644 --- a/include/wx/msw/private.h +++ b/include/wx/msw/private.h @@ -899,6 +899,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 @@ -926,7 +927,9 @@ enum wxWinVersion wxWinVersion_Vista = wxWinVersion_6, wxWinVersion_NT6 = wxWinVersion_6, - wxWinVersion_7 = 0x601 + wxWinVersion_7 = 0x601, + + wxWinVersion_8 = 0x602 }; WXDLLIMPEXP_BASE wxWinVersion wxGetWinVersion(); diff --git a/src/msw/utils.cpp b/src/msw/utils.cpp index a6032b706d..33322697e7 100644 --- a/src/msw/utils.cpp +++ b/src/msw/utils.cpp @@ -1478,10 +1478,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;