From 6bc100ab085078adedd616c0520b855a420d6498 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 2 Jun 2017 17:21:08 +0200
Subject: [PATCH 1/2] Handle win64 in dumpcpp and
 MetaObjectGenerator::readClassInfo

See https://bugreports.qt.io/browse/QTBUG-46827
---
 src/activeqt/container/qaxbase.cpp | 4 ++++
 tools/dumpcpp/main.cpp             | 8 ++++++++
 2 files changed, 12 insertions(+)

diff --git a/src/activeqt/container/qaxbase.cpp b/src/activeqt/container/qaxbase.cpp
index 4944c3b..f92d18b 100644
--- a/src/activeqt/container/qaxbase.cpp
+++ b/src/activeqt/container/qaxbase.cpp
@@ -2104,6 +2104,10 @@ void MetaObjectGenerator::readClassInfo()
             const QStringList versions = controls.childGroups();
             for (const QString &version : versions) {
                 tlfile = controls.value(QLatin1Char('/') + version + QLatin1String("/0/win32/.")).toString();
+                if(tlfile.isEmpty())
+                {
+                  tlfile = controls.value(QLatin1Char('/') + version + QLatin1String("/0/win64/.")).toString();
+                }
                 if (!tlfile.isEmpty())
                     break;
             }
diff --git a/tools/dumpcpp/main.cpp b/tools/dumpcpp/main.cpp
index 60e5c94..b2ea4eb 100644
--- a/tools/dumpcpp/main.cpp
+++ b/tools/dumpcpp/main.cpp
@@ -1090,6 +1090,10 @@ int main(int argc, char **argv)
             typeLib = settings.value(keyPrefix + QLatin1String("win32/.")).toString();
             if (QFile::exists(typeLib))
                 break;
+            typeLib = settings.value(QLatin1String("/") + codes.at(c) + QLatin1String("/0/win64/.")).toByteArray();
+            if (QFile::exists(typeLib)) {
+                break;
+            }
         }
 
         if (!typeLib.isEmpty())
@@ -1154,6 +1158,10 @@ int main(int argc, char **argv)
             typeLib = settings.value(keyPrefix + QLatin1String("win32/.")).toString();
             if (QFile::exists(typeLib))
                 break;
+            typeLib = settings.value(key + QLatin1String("/") + codes.at(c) + QLatin1String("/win64/.")).toByteArray();
+            if (QFile::exists(typeLib)) {
+                break;
+            }
         }
     }
 
-- 
2.33.0
