summarylogtreecommitdiffstats
path: root/0001-Handle-win64-in-dumpcpp-and-MetaObjectGenerator-read.patch
blob: 598270d2bb2b4326f6d90a36ac1ed5dfae7c084d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
From 510fd537b1f6329d429b51e19d593214605d1b4a Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 2 Jun 2017 17:21:08 +0200
Subject: [PATCH 1/3] 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 c3b9b0a..ee19ffe 100644
--- a/src/activeqt/container/qaxbase.cpp
+++ b/src/activeqt/container/qaxbase.cpp
@@ -2118,6 +2118,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 fc8bf8c..435ab1e 100644
--- a/tools/dumpcpp/main.cpp
+++ b/tools/dumpcpp/main.cpp
@@ -1111,6 +1111,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())
@@ -1175,6 +1179,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.39.2