aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/libpyside/pysideqslotobject_p.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside6/libpyside/pysideqslotobject_p.cpp')
-rw-r--r--sources/pyside6/libpyside/pysideqslotobject_p.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/sources/pyside6/libpyside/pysideqslotobject_p.cpp b/sources/pyside6/libpyside/pysideqslotobject_p.cpp
index 40b011fcf..279a3d4e0 100644
--- a/sources/pyside6/libpyside/pysideqslotobject_p.cpp
+++ b/sources/pyside6/libpyside/pysideqslotobject_p.cpp
@@ -2,7 +2,7 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "pysideqslotobject_p.h"
-#include "signalmanager.h"
+#include "dynamicslot_p.h"
#include <gilstate.h>
@@ -13,23 +13,19 @@ PySideQSlotObject::PySideQSlotObject(PyObject *callable,
const QByteArrayList &parameterTypes,
const char *returnType) :
QtPrivate::QSlotObjectBase(&impl),
- m_callable(callable),
+ m_dynamicSlot(DynamicSlot::create(callable)),
m_parameterTypes(parameterTypes),
m_returnType(returnType)
{
- Py_INCREF(callable);
}
-PySideQSlotObject::~PySideQSlotObject()
+void PySideQSlotObject::call(void **args)
{
Shiboken::GilState state;
- Py_DECREF(m_callable);
+ m_dynamicSlot->call(m_parameterTypes, m_returnType, args);
}
-void PySideQSlotObject::call(void **args)
-{
- SignalManager::callPythonMetaMethod(m_parameterTypes, m_returnType, args, m_callable);
-}
+PySideQSlotObject::~PySideQSlotObject() = default;
void PySideQSlotObject::impl(int which, QSlotObjectBase *this_, QObject *receiver,
void **args, bool *ret)