From 08d61b56fa9e901b807b67b07f187e0f54e7551c Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 2 Jul 2024 10:38:45 +0200 Subject: libpyside: Fix parameters for connections with contexts Use the new SignalManager::callPythonMetaMethod() overload introduced by ed8fc457e04f4ead8a3b2a2da797bdc14bd5b210 in PySideQSlotObject to convert the void ** arguments to Python. Amends acab25a3ccb836818e5089b23d40196bc7414b7a. Change-Id: I024bc7f8df7fa65b8b1761f517a99a854de2cec8 Reviewed-by: Cristian Maureira-Fredes --- sources/pyside6/libpyside/qobjectconnect.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'sources/pyside6/libpyside/qobjectconnect.cpp') diff --git a/sources/pyside6/libpyside/qobjectconnect.cpp b/sources/pyside6/libpyside/qobjectconnect.cpp index d0a1a2c50..e27827ce4 100644 --- a/sources/pyside6/libpyside/qobjectconnect.cpp +++ b/sources/pyside6/libpyside/qobjectconnect.cpp @@ -282,7 +282,10 @@ QMetaObject::Connection qobjectConnectCallback(QObject *source, const char *sign PySide::SignalManager &signalManager = PySide::SignalManager::instance(); - auto *slotObject = new PySideQSlotObject(callback); + const QMetaMethod signalMethod = source->metaObject()->method(signalIndex); + auto *slotObject = new PySideQSlotObject(callback, + signalMethod.parameterTypes(), + signalMethod.typeName()); QMetaObject::Connection connection{}; Py_BEGIN_ALLOW_THREADS // PYSIDE-2367, prevent threading deadlocks with connectNotify() @@ -298,7 +301,6 @@ QMetaObject::Connection qobjectConnectCallback(QObject *source, const char *sign if (receiver.usingGlobalReceiver) signalManager.notifyGlobalReceiver(receiver.receiver); - const QMetaMethod signalMethod = source->metaObject()->method(signalIndex); static_cast(source)->connectNotify(signalMethod); return connection; } -- cgit v1.2.3