aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2022-04-05 17:09:01 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2022-04-22 10:03:36 +0200
commita18f071a0d8b343cf530348707d9741c10674a10 (patch)
tree932bc40777ca34ed6132640220eeba7cc3d0abd6
parent01470f2516df95e03d8e5d5e9c804ddc1386e1d3 (diff)
PySide6: Handle not finding a slot by name
Change-Id: Ie2c652223aaaa853c99d540acebb99f754f34d61 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 4b763b54737b0da8f10cfed245637310d4cd80c7) Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
-rw-r--r--sources/pyside6/libpyside/signalmanager.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/sources/pyside6/libpyside/signalmanager.cpp b/sources/pyside6/libpyside/signalmanager.cpp
index db235d8ba..177681ae8 100644
--- a/sources/pyside6/libpyside/signalmanager.cpp
+++ b/sources/pyside6/libpyside/signalmanager.cpp
@@ -601,6 +601,11 @@ static int callMethod(QObject *object, int id, void **args)
QByteArray methodName = method.methodSignature();
methodName.truncate(methodName.indexOf('('));
Shiboken::AutoDecRef pyMethod(PyObject_GetAttrString(self, methodName));
+ if (pyMethod.isNull()) {
+ PyErr_Format(PyExc_AttributeError, "Slot '%s::%s' not found.",
+ metaObject->className(), method.methodSignature().constData());
+ return -1;
+ }
return SignalManager::callPythonMetaMethod(method, args, pyMethod, false);
}
return -1;