summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2020-09-15 13:52:06 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2020-09-15 20:39:03 +0200
commit782710f23604b7437417540c2d44aec06c42f3ba (patch)
tree95a7db5f464586dad67e34c059c49f330e20454c /tools
parent044703cbba019101f4a3e817f5a845ad4d53a704 (diff)
dumpcpp: Check 64 bit registry keys for 64bit builds
Add a check depending on pointer size. Pick-to: 5.15 Fixes: QTBUG-86666 Change-Id: I6bb39e94e677e9f9c72b15949e7b463e1f4776d2 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'tools')
-rw-r--r--tools/dumpcpp/main.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/tools/dumpcpp/main.cpp b/tools/dumpcpp/main.cpp
index 4545c60..a7dbbea 100644
--- a/tools/dumpcpp/main.cpp
+++ b/tools/dumpcpp/main.cpp
@@ -1087,7 +1087,13 @@ int main(int argc, char **argv)
typeLib.clear();
QStringList codes = settings.childGroups();
for (int c = 0; c < codes.count(); ++c) {
- typeLib = settings.value(QLatin1Char('/') + codes.at(c) + QLatin1String("/0/win32/.")).toString();
+ const QString keyPrefix = QLatin1Char('/') + codes.at(c) + QLatin1String("/0/");
+ if (QT_POINTER_SIZE == 8) {
+ typeLib = settings.value(keyPrefix + QLatin1String("win64/.")).toString();
+ if (QFile::exists(typeLib))
+ break;
+ }
+ typeLib = settings.value(keyPrefix + QLatin1String("win32/.")).toString();
if (QFile::exists(typeLib))
break;
}
@@ -1145,8 +1151,13 @@ int main(int argc, char **argv)
settings.endGroup();
for (int c = 0; c < codes.count(); ++c) {
- typeLib = settings.value(key + QLatin1Char('/') + codes.at(c)
- + QLatin1String("/win32/.")).toString();
+ const QString keyPrefix = key + QLatin1Char('/') + codes.at(c) + QLatin1Char('/');
+ if (QT_POINTER_SIZE == 8) {
+ typeLib = settings.value(keyPrefix + QLatin1String("win64/.")).toString();
+ if (QFile::exists(typeLib))
+ break;
+ }
+ typeLib = settings.value(keyPrefix + QLatin1String("win32/.")).toString();
if (QFile::exists(typeLib))
break;
}