diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-06-09 13:45:07 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-06-13 13:35:58 +0200 |
| commit | 73adefe22ffbfabe0ef213e9c2fe2c56efdd7488 (patch) | |
| tree | d14a76c8ed45c73f4e5f3b7611fe6465224b9ed6 /sources/pyside6/libpyside/pysideweakref.cpp | |
| parent | fd6f5801117e6c3d215e9b53b8bf5a8e8506ae78 (diff) | |
Fix usage of Py_TYPE() for Python 3.11
The macro was changed to a function, no longer allowing for assignment.
Pick-to: 6.3 6.2 5.15
Task-number: PYSIDE-1960
Change-Id: I4bc0e9a5c1f3dc70d59628e63b7b9d47ea449992
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/pyside6/libpyside/pysideweakref.cpp')
| -rw-r--r-- | sources/pyside6/libpyside/pysideweakref.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sources/pyside6/libpyside/pysideweakref.cpp b/sources/pyside6/libpyside/pysideweakref.cpp index 2554055e3..79a19fec8 100644 --- a/sources/pyside6/libpyside/pysideweakref.cpp +++ b/sources/pyside6/libpyside/pysideweakref.cpp @@ -51,9 +51,11 @@ PyObject *create(PyObject *obj, PySideWeakRefFunction func, void *userData) if (obj == Py_None) return nullptr; - if (Py_TYPE(PySideCallableObject_TypeF()) == nullptr) { - Py_TYPE(PySideCallableObject_TypeF()) = &PyType_Type; - PyType_Ready(PySideCallableObject_TypeF()); + auto *callableObject_Type = PySideCallableObject_TypeF(); + auto *callableObject_PyObject = reinterpret_cast<PyObject *>(callableObject_Type); + if (callableObject_PyObject->ob_type == nullptr) { + callableObject_PyObject->ob_type = &PyType_Type; + PyType_Ready(callableObject_Type); } PyTypeObject *type = PySideCallableObject_TypeF(); |
