summarylogtreecommitdiffstats
path: root/0002-Handle-win64-in-dumpcpp-and-MetaObjectGenerator-read.patch
blob: 6394559598171517b8901657cc3d00133bdb2523 (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 7b74ca5cb9fb9077eb26e73a84822850e8608c50 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 2 Jun 2017 17:21:08 +0200
Subject: [PATCH 2/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 2903cdf..12e3801 100644
--- a/src/activeqt/container/qaxbase.cpp
+++ b/src/activeqt/container/qaxbase.cpp
@@ -2202,6 +2202,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 55aa80b..a1282f2 100644
--- a/tools/dumpcpp/main.cpp
+++ b/tools/dumpcpp/main.cpp
@@ -1586,6 +1586,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())
@@ -1650,6 +1654,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.29.2