Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Tismer <tismer@stackless.com>2023-10-09 15:22:25 +0200
committerChristian Tismer <tismer@stackless.com>2023-10-11 09:30:12 +0200
commit6d87aac5fdb5f7548d4573c8ffb967e00956bc30 (patch)
tree8c8d1ed3ea3385311d77e1b32f32fb02bfc208db /sources/pyside6/libpyside/pysidesignal.cpp
parentcaea287e8250dd5a3107e56fb8afe7c53d7866bf (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.cpp6
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))) {