From 65a9ae9a853fa68ff997edbe3d6fd4eed022f1a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Wed, 6 Nov 2024 11:10:03 +0100 Subject: limited api: Remove PyTuple_GET_ITEM, PyTuple_SET_ITEM, and PyTuple_GET_SIZE macros Removing old macros for compatibility with the limited api, and refactoring some of their usages Change-Id: I33954199d2ef9884c64b963863b97aed851c440f Pick-to: 6.8 Reviewed-by: Friedemann Kleint --- sources/pyside6/libpyside/pyside.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'sources/pyside6/libpyside/pyside.cpp') diff --git a/sources/pyside6/libpyside/pyside.cpp b/sources/pyside6/libpyside/pyside.cpp index fe1da77a1..272a006fc 100644 --- a/sources/pyside6/libpyside/pyside.cpp +++ b/sources/pyside6/libpyside/pyside.cpp @@ -222,10 +222,10 @@ static QByteArrayList _SbkType_LookupProperty(PyTypeObject *type, if (origName.isEmpty()) return QByteArrayList{}; PyObject *mro = type->tp_mro; - auto n = PyTuple_GET_SIZE(mro); + auto n = PyTuple_Size(mro); auto len = std::strlen(origName); for (Py_ssize_t idx = 0; idx < n; idx++) { - auto *base = reinterpret_cast(PyTuple_GET_ITEM(mro, idx)); + auto *base = reinterpret_cast(PyTuple_GetItem(mro, idx)); if (!SbkObjectType_Check(base)) continue; auto *props = SbkObjectType_GetPropertyStrings(base); @@ -499,20 +499,19 @@ void initQObjectSubType(PyTypeObject *type, PyObject *args, PyObject * /* kwds * { PyTypeObject *qObjType = Shiboken::Conversions::getPythonTypeObject("QObject*"); - PyObject *bases = PyTuple_GET_ITEM(args, 1); - int numBases = PyTuple_GET_SIZE(bases); + PyObject *bases = PyTuple_GetItem(args, 1); TypeUserData *userData = nullptr; - for (int i = 0; i < numBases; ++i) { - auto *base = reinterpret_cast(PyTuple_GET_ITEM(bases, i)); + for (Py_ssize_t i = 0, numBases = PyTuple_Size(bases); i < numBases; ++i) { + auto *base = reinterpret_cast(PyTuple_GetItem(bases, i)); if (PyType_IsSubtype(base, qObjType)) { userData = retrieveTypeUserData(base); break; } } if (!userData) { - const char *className = Shiboken::String::toCString(PyTuple_GET_ITEM(args, 0)); + const char *className = Shiboken::String::toCString(PyTuple_GetItem(args, 0)); qWarning("Sub class of QObject not inheriting QObject!? Crash will happen when using %s.", className); return; -- cgit v1.2.3