diff options
Diffstat (limited to 'dev-python/shiboken2/files/shiboken2-5.15.5-python311-1.patch')
-rw-r--r-- | dev-python/shiboken2/files/shiboken2-5.15.5-python311-1.patch | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.5-python311-1.patch b/dev-python/shiboken2/files/shiboken2-5.15.5-python311-1.patch deleted file mode 100644 index 771ce2ad1886..000000000000 --- a/dev-python/shiboken2/files/shiboken2-5.15.5-python311-1.patch +++ /dev/null @@ -1,72 +0,0 @@ -From c87d4e27cd482918c1d091c09cfac749a56b0f99 Mon Sep 17 00:00:00 2001 -From: Bernd Waibel <waebbl-gentoo@posteo.net> -Date: Wed, 20 Jul 2022 07:15:57 +0200 -Subject: [PATCH 1/3] - https://src.fedoraproject.org/fork/pviktori/rpms/python-pyside2/raw/5da9902bd8732b49eb722d71f306d4ab197c84b8/f/python3.11.patch - https://code.qt.io/cgit/pyside/pyside-setup.git/patch/?id=52df3b8f64 - https://code.qt.io/cgit/pyside/pyside-setup.git/patch/?id=73adefe22f - https://code.qt.io/cgit/pyside/pyside-setup.git/patch/?id=a09a1db839 - -From b64ad27d8dfeeecaaa8a98051252a32c9d998df4 Mon Sep 17 00:00:00 2001 -From: Friedemann Kleint <Friedemann.Kleint@qt.io> -Date: Thu, 9 Jun 2022 16:50:41 +0200 -Subject: [PATCH] libshiboken: Fix a crash in Shiboken::Object::isValid() for - Python 3.11 - -The function is passed type objects for class methods, which caused -it to crash. - -The first clause did not catch this, and so it was cast to SbkObject -below. - -Add a type check to prevent this. - -Pick-to: 6.3 6.2 5.15 -Task-number: PYSIDE-1960 -Change-Id: Icfdd6fefb7156ac5961444bd5395109849a1d66e -Reviewed-by: Christian Tismer <tismer@stackless.com> -Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> - -Original patch no longer applies with 5.15.5. -Manually re-applied to respect code changes. - -Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> ---- a/libshiboken/basewrapper.cpp -+++ b/libshiboken/basewrapper.cpp -@@ -377,7 +377,7 @@ SbkObjectType *SbkObject_TypeF(void) - static PyTypeObject *type = nullptr; - if (!type) { - type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&SbkObject_Type_spec)); -- Py_TYPE(type) = SbkObjectType_TypeF(); -+ Py_SET_TYPE(type, SbkObjectType_TypeF()); - Py_INCREF(Py_TYPE(type)); - type->tp_weaklistoffset = offsetof(SbkObject, weakreflist); - type->tp_dictoffset = offsetof(SbkObject, ob_dict); -@@ -1152,7 +1152,7 @@ introduceWrapperType(PyObject *enclosingObject, - typeSpec->slots[0].pfunc = reinterpret_cast<void *>(baseType ? baseType : SbkObject_TypeF()); - - PyObject *heaptype = SbkType_FromSpecWithBases(typeSpec, baseTypes); -- Py_TYPE(heaptype) = SbkObjectType_TypeF(); -+ Py_SET_TYPE(heaptype, SbkObjectType_TypeF()); - Py_INCREF(Py_TYPE(heaptype)); - auto *type = reinterpret_cast<SbkObjectType *>(heaptype); - #if PY_VERSION_HEX < 0x03000000 -@@ -1517,6 +1517,7 @@ bool setCppPointer(SbkObject *sbkObj, PyTypeObject *desiredType, void *cptr) - bool isValid(PyObject *pyObj) - { - if (!pyObj || pyObj == Py_None -+ || PyType_Check(pyObj) != 0 - || Py_TYPE(Py_TYPE(pyObj)) != SbkObjectType_TypeF()) { - return true; - } ---- a/libshiboken/sbkenum.cpp -+++ b/libshiboken/sbkenum.cpp -@@ -753,7 +753,7 @@ newTypeWithName(const char *name, - PyTuple_SetItem(bases, 0, reinterpret_cast<PyObject *>(basetype)); - auto *type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpecWithBases(&newspec, bases)); - PyErr_Print(); -- Py_TYPE(type) = SbkEnumType_TypeF(); -+ Py_SET_TYPE(type, SbkEnumType_TypeF()); - - auto *enumType = reinterpret_cast<SbkEnumType *>(type); - PepType_SETP(enumType)->cppName = cppName; |