diff options
Diffstat (limited to 'gnu/packages/patches/python-poppler-qt5-fix-build.patch')
-rw-r--r-- | gnu/packages/patches/python-poppler-qt5-fix-build.patch | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/gnu/packages/patches/python-poppler-qt5-fix-build.patch b/gnu/packages/patches/python-poppler-qt5-fix-build.patch deleted file mode 100644 index 099bb86d2f..0000000000 --- a/gnu/packages/patches/python-poppler-qt5-fix-build.patch +++ /dev/null @@ -1,116 +0,0 @@ -Patch taken from the upstream repository -https://github.com/frescobaldi/python-poppler-qt5/issues/43 - -From 92e5962ec3751ab051d0b655fd61afc7a1cf709e Mon Sep 17 00:00:00 2001 -From: Ben Greiner <code@bnavigator.de> -Date: Thu, 4 Mar 2021 17:02:51 +0100 -Subject: [PATCH] map type QVector< QPair<TYPE, TYPE> > for - FormFieldChoice::choicesWithExportValues() (#45) - ---- - types.sip | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 93 insertions(+) - -diff --git a/types.sip b/types.sip -index 239b8c9..81cb283 100644 ---- a/types.sip -+++ b/types.sip -@@ -331,5 +331,98 @@ template <TYPE> - }; - - -+/** -+ * Convert QVector< QPair<TYPE, TYPE> > -+ * from and to a Python list of a 2-item tuple -+ */ -+ -+template<TYPE> -+%MappedType QVector< QPair<TYPE, TYPE> > -+{ -+%TypeHeaderCode -+#include <qvector.h> -+#include <qpair.h> -+%End -+ -+%ConvertFromTypeCode -+ // Create the list. -+ PyObject *l; -+ -+ if ((l = PyList_New(sipCpp->size())) == NULL) -+ return NULL; -+ -+ // Set the list elements. -+ for (int i = 0; i < sipCpp->size(); ++i) -+ { -+ QPair<TYPE, TYPE>* p = new QPair<TYPE, TYPE>(sipCpp->at(i)); -+ PyObject *ptuple = PyTuple_New(2); -+ PyObject *pfirst; -+ PyObject *psecond; -+ -+ TYPE *sfirst = new TYPE(p->first); -+ if ((pfirst = sipConvertFromType(sfirst, sipType_TYPE, sipTransferObj)) == NULL) -+ { -+ Py_DECREF(l); -+ Py_DECREF(ptuple); -+ return NULL; -+ } -+ PyTuple_SET_ITEM(ptuple, 0, pfirst); -+ -+ TYPE *ssecond = new TYPE(p->second); -+ if ((psecond = sipConvertFromType(ssecond, sipType_TYPE, sipTransferObj)) == NULL) -+ { -+ Py_DECREF(l); -+ Py_DECREF(ptuple); -+ Py_DECREF(pfirst); -+ return NULL; -+ } -+ PyTuple_SET_ITEM(ptuple, 1, psecond); -+ -+ PyList_SET_ITEM(l, i, ptuple); -+ } -+ -+ return l; -+%End -+ -+%ConvertToTypeCode -+ const sipTypeDef* qpair_type = sipFindType("QPair<TYPE, TYPE>"); -+ -+ // Check the type if that is all that is required. -+ if (sipIsErr == NULL) -+ { -+ if (!PySequence_Check(sipPy)) -+ return 0; -+ -+ for (int i = 0; i < PySequence_Size(sipPy); ++i) -+ if (!sipCanConvertToType(PySequence_ITEM(sipPy, i), qpair_type, SIP_NOT_NONE)) -+ return 0; -+ -+ return 1; -+ } -+ -+ -+ QVector< QPair<TYPE, TYPE> > *qv = new QVector< QPair<TYPE, TYPE> >; -+ -+ for (int i = 0; i < PySequence_Size(sipPy); ++i) -+ { -+ int state; -+ QPair<TYPE, TYPE> * p = reinterpret_cast< QPair<TYPE, TYPE> * >(sipConvertToType(PySequence_ITEM(sipPy, i), qpair_type, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); -+ -+ if (*sipIsErr) -+ { -+ sipReleaseType(p, qpair_type, state); -+ delete qv; -+ return 0; -+ } -+ qv->append(*p); -+ sipReleaseType(p, qpair_type, state); -+ } -+ -+ *sipCppPtr = qv; -+ return sipGetState(sipTransferObj); -+%End -+ -+}; -+ - - /* kate: indent-width 4; space-indent on; hl c++; indent-mode cstyle; */ |