diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2024-01-12 12:11:20 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2024-01-16 11:20:58 +0100 |
commit | 15fe017be6eb8b3aaf32d06eb21c61bd7eb3907e (patch) | |
tree | 7208cfd73e38ce3cc78e67eb88fa3d301719c79d /sources/pyside6/libpysideqml | |
parent | a136723223b06169321296cd6cbc4c4c694e5153 (diff) |
Use PyType_GetSlot() instead of accessing PyTypeObject's slots in library code
Using PepType_GetSlot() as is requires adding ugly casts. To work
around, add a new file with convenience helper functions in C++
linkage. This also allows for using templates for tp_alloc.
Task-number: PYSIDE-560
Change-Id: Ia50a226f5b545861f885d600445b91b4e11713c5
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/pyside6/libpysideqml')
-rw-r--r-- | sources/pyside6/libpysideqml/pysideqmllistproperty.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sources/pyside6/libpysideqml/pysideqmllistproperty.cpp b/sources/pyside6/libpysideqml/pysideqmllistproperty.cpp index a6f9f0193..97d6ce91b 100644 --- a/sources/pyside6/libpysideqml/pysideqmllistproperty.cpp +++ b/sources/pyside6/libpysideqml/pysideqmllistproperty.cpp @@ -5,6 +5,7 @@ #include "pysideqmlregistertype_p.h" #include <shiboken.h> +#include <pep384ext.h> #include <signature.h> #include <pysideproperty.h> @@ -33,7 +34,7 @@ extern "C" static PyObject *propList_tp_new(PyTypeObject *subtype, PyObject * /* args */, PyObject * /* kwds */) { - PySideProperty *me = reinterpret_cast<PySideProperty *>(subtype->tp_alloc(subtype, 0)); + auto *me = PepExt_TypeCallAlloc<PySideProperty>(subtype, 0); me->d = new QmlListPropertyPrivate; return reinterpret_cast<PyObject *>(me); } |