diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-04-05 17:09:01 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-04-22 10:50:32 +0200 |
commit | 9372242a1dd8e4dca641971ce23b889552b4022c (patch) | |
tree | e9a9138781b22ce7e0cd53f26b358246663c9004 | |
parent | 927c0d3e625455a8e5fedef3ed6662c8acba1858 (diff) |
PySide6: Handle not finding a slot by name
Change-Id: Ie2c652223aaaa853c99d540acebb99f754f34d61
Reviewed-by: Christian Tismer <tismer@stackless.com>
(cherry picked from commit 4b763b54737b0da8f10cfed245637310d4cd80c7)
-rw-r--r-- | sources/pyside2/libpyside/signalmanager.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sources/pyside2/libpyside/signalmanager.cpp b/sources/pyside2/libpyside/signalmanager.cpp index 814b15f0a..aefe79318 100644 --- a/sources/pyside2/libpyside/signalmanager.cpp +++ b/sources/pyside2/libpyside/signalmanager.cpp @@ -638,6 +638,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; |