summaryrefslogtreecommitdiffstats
path: root/deps/sip/patches/PyQt4_sip_regression.patch
diff options
context:
space:
mode:
Diffstat (limited to 'deps/sip/patches/PyQt4_sip_regression.patch')
-rw-r--r--deps/sip/patches/PyQt4_sip_regression.patch71
1 files changed, 71 insertions, 0 deletions
diff --git a/deps/sip/patches/PyQt4_sip_regression.patch b/deps/sip/patches/PyQt4_sip_regression.patch
new file mode 100644
index 0000000..e656ff4
--- /dev/null
+++ b/deps/sip/patches/PyQt4_sip_regression.patch
@@ -0,0 +1,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"
+
+