summaryrefslogtreecommitdiffstats
path: root/deps/sip/patches/PyQt4_sip_regression.patch
blob: e656ff48e3da695aa7a1107a0382e83376c147ec (plain) (blame)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# HG changeset patch
# User Phil Thompson <phil@riverbankcomputing.com>
# Date 1550579387 0
# Node ID 7bd4d19479adc46c40e8d43629aaac871fae6cd7
# Parent  4ab117a13343cd8d8f5804600936f445fb2d59ef
Fixed a code generation regression specific to PyQt4.

diff -r 4ab117a13343 -r 7bd4d19479ad sipgen/gencode.c
--- a/sipgen/gencode.c	Tue Feb 12 09:27:11 2019 +0000
+++ b/sipgen/gencode.c	Tue Feb 19 12:29:47 2019 +0000
@@ -295,7 +295,7 @@
 static int emptyIfaceFile(sipSpec *pt, ifaceFileDef *iff);
 static void declareLimitedAPI(int py_debug, moduleDef *mod, FILE *fp);
 static int generatePluginSignalsTable(sipSpec *pt, classDef *cd,
-        const char *pyqt_prefix, FILE *fp);
+        int pyqt_version, FILE *fp);
 static int generatePyQt5ClassPlugin(sipSpec *pt, classDef *cd, FILE *fp);
 static int generatePyQt4ClassPlugin(sipSpec *pt, classDef *cd, FILE *fp);
 static void generateGlobalFunctionTableEntries(sipSpec *pt, moduleDef *mod,
@@ -15542,7 +15542,7 @@
  * Generate the PyQt4/5 signals table.
  */
 static int generatePluginSignalsTable(sipSpec *pt, classDef *cd,
-        const char *pyqt_prefix, FILE *fp)
+        int pyqt_version, FILE *fp)
 {
     int is_signals = FALSE;
 
@@ -15586,8 +15586,8 @@
 "\n"
 "\n"
 "/* Define this type's signals. */\n"
-"static const %sQtSignal signals_%C[] = {\n"
-                        , pyqt_prefix, classFQCName(cd));
+"static const pyqt%dQtSignal signals_%C[] = {\n"
+                        , pyqt_version, classFQCName(cd));
                 }
 
                 /*
@@ -15628,9 +15628,9 @@
 
         if (is_signals)
             prcode(fp,
-"    {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR}\n"
+"    {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, %s}\n"
 "};\n"
-                );
+                , (pyqt_version == 5 ? "SIP_NULLPTR" : "0"));
     }
 
     return is_signals;
@@ -15643,7 +15643,7 @@
  */
 static int generatePyQt5ClassPlugin(sipSpec *pt, classDef *cd, FILE *fp)
 {
-    int is_signals = generatePluginSignalsTable(pt, cd, "pyqt5", fp);
+    int is_signals = generatePluginSignalsTable(pt, cd, 5, fp);
 
     prcode(fp,
 "\n"
@@ -15696,7 +15696,7 @@
  */
 static int generatePyQt4ClassPlugin(sipSpec *pt, classDef *cd, FILE *fp)
 {
-    int is_signals = generatePluginSignalsTable(pt, cd, "pyqt4", fp);
+    int is_signals = generatePluginSignalsTable(pt, cd, 4, fp);
 
     prcode(fp,
 "\n"