summarylogtreecommitdiffstats
path: root/0001-Handle-win64-in-dumpcpp-and-MetaObjectGenerator-read.patch
blob: e8340f0a775b752f94172ee40df71e64ecebedd8 (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 11bf98cd89b7169d81352ba7f652661964531751 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 c97ad9a..37f9f94 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 3142265..8188657 100644
--- a/tools/dumpcpp/main.cpp
+++ b/tools/dumpcpp/main.cpp
@@ -1106,6 +1106,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())
@@ -1170,6 +1174,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.36.1