diff options
author | Christian Tismer <tismer@stackless.com> | 2023-10-09 15:22:25 +0200 |
---|---|---|
committer | Christian Tismer <tismer@stackless.com> | 2023-10-11 09:30:12 +0200 |
commit | 6d87aac5fdb5f7548d4573c8ffb967e00956bc30 (patch) | |
tree | 8c8d1ed3ea3385311d77e1b32f32fb02bfc208db /sources/pyside6/libpyside/pysidesignal.cpp | |
parent | caea287e8250dd5a3107e56fb8afe7c53d7866bf (diff) |
shiboken: Get rid of tp_dict in general, amended
A few more cases of cppgenerator were added. This are
now really all cases, because tp_dict is no longer
exported.
As a very positive side effect, there is no longer
direct tp_dict access in the "init_<type>" functions.
Usage of PepType_GetDict would have created a permanent
extra-reference.
NOTE: It was necessary to set SKIP_UNITY_BUILD_INCLUSION
on pep384impl.cpp in order to let this work with unity.
Change-Id: I021dbc978b51265db96d5d3d438e06aa96230cc1
Pick-to: 6.2 6.5 6.6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'sources/pyside6/libpyside/pysidesignal.cpp')
-rw-r--r-- | sources/pyside6/libpyside/pysidesignal.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sources/pyside6/libpyside/pysidesignal.cpp b/sources/pyside6/libpyside/pysidesignal.cpp index 073e7c2ff..af544c4f7 100644 --- a/sources/pyside6/libpyside/pysidesignal.cpp +++ b/sources/pyside6/libpyside/pysidesignal.cpp @@ -784,7 +784,7 @@ static PyObject *_getHomonymousMethod(PySideSignalInstance *inst) for (Py_ssize_t idx = 0; idx < n; idx++) { auto *sub_type = reinterpret_cast<PyTypeObject *>(PyTuple_GET_ITEM(mro, idx)); - AutoDecRef tpDict(PepType_GetDict(sub_type)); + Shiboken::AutoDecRef tpDict(PepType_GetDict(sub_type)); auto *hom = PyDict_GetItem(tpDict, name); PyObject *realFunc{}; if (hom && PyCallable_Check(hom) && (realFunc = _getRealCallable(hom))) @@ -892,7 +892,7 @@ void updateSourceObject(PyObject *source) Py_ssize_t pos = 0; PyObject *key, *value; auto *type = reinterpret_cast<PyTypeObject *>(mroItem.object()); - AutoDecRef tpDict(PepType_GetDict(type)); + Shiboken::AutoDecRef tpDict(PepType_GetDict(type)); while (PyDict_Next(tpDict, &pos, &key, &value)) { if (PyObject_TypeCheck(value, PySideSignal_TypeF())) { // PYSIDE-1751: We only insert an instance into the instance dict, if a signal @@ -1100,7 +1100,7 @@ static typename T::value_type join(T t, const char *sep) static void _addSignalToWrapper(PyTypeObject *wrapperType, const char *signalName, PySideSignal *signal) { - AutoDecRef tpDict(PepType_GetDict(wrapperType)); + Shiboken::AutoDecRef tpDict(PepType_GetDict(wrapperType)); auto typeDict = tpDict.object(); PyObject *homonymousMethod; if ((homonymousMethod = PyDict_GetItemString(typeDict, signalName))) { |