summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2019-10-31 21:38:43 +0300
committerDenis Shienkov <denis.shienkov@gmail.com>2019-11-05 08:57:35 +0000
commitf02d5f4d7d6e063455cb7139505f69a8e9df5b15 (patch)
tree593ab306c4e798834015abe0a79cca4c45f13a34
parentdeeed3dcd2c9b9abc9997c65cf4d664ece233c2e (diff)
downloadqt-creator-f02d5f4d7d6e063455cb7139505f69a8e9df5b15.tar.gz
Utils: Fix detection of DLL or EXE file/product version on Windows
We need to handle not only the most significant bits of the file's binary version, but also the least significant bits. Otherwise a returning file/product version is not a complete. Change-Id: I2372731ed4e6740c09785fc74c80dad6ecfe9fbe Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--src/libs/utils/winutils.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/libs/utils/winutils.cpp b/src/libs/utils/winutils.cpp
index 0f98d91ace..fbfec11233 100644
--- a/src/libs/utils/winutils.cpp
+++ b/src/libs/utils/winutils.cpp
@@ -120,10 +120,16 @@ QTCREATOR_UTILS_EXPORT QString winGetDLLVersion(WinDLLVersionType t,
QString rc;
switch (t) {
case WinDLLFileVersion:
- QTextStream(&rc) << HIWORD(versionInfo->dwFileVersionMS) << '.' << LOWORD(versionInfo->dwFileVersionMS);
+ QTextStream(&rc) << HIWORD(versionInfo->dwFileVersionMS) << '.'
+ << LOWORD(versionInfo->dwFileVersionMS) << '.'
+ << HIWORD(versionInfo->dwFileVersionLS) << '.'
+ << LOWORD(versionInfo->dwFileVersionLS);
break;
case WinDLLProductVersion:
- QTextStream(&rc) << HIWORD(versionInfo->dwProductVersionMS) << '.' << LOWORD(versionInfo->dwProductVersionMS);
+ QTextStream(&rc) << HIWORD(versionInfo->dwProductVersionMS) << '.'
+ << LOWORD(versionInfo->dwProductVersionMS) << '.'
+ << HIWORD(versionInfo->dwProductVersionLS) << '.'
+ << LOWORD(versionInfo->dwProductVersionLS);
break;
}
return rc;