aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-10-27 11:40:12 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-10-27 19:48:28 +0000
commitf7224a57aad37ebeda2c5742d7252d6adf6666e3 (patch)
treee712d2f44b6fee3d8b93805af6afbc5bb7ba29aa
parent96b47106c6f1cabc925b8d3971def32f0ab9c297 (diff)
Set error when instantiating a Signal on a non-QObject
Fixes: PYSIDE-2510 Change-Id: Icc1461299907cc116bc75f5de994a687b85c1786 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> (cherry picked from commit 2a1034684b23f526631dd9d9e85a39f5bd3b71dd) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit ae31d6c7cbc847a93aadb521b6112b6238474a0a)
-rw-r--r--sources/pyside6/libpyside/pysidesignal.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/sources/pyside6/libpyside/pysidesignal.cpp b/sources/pyside6/libpyside/pysidesignal.cpp
index 66d09186e..1405897af 100644
--- a/sources/pyside6/libpyside/pysidesignal.cpp
+++ b/sources/pyside6/libpyside/pysidesignal.cpp
@@ -703,7 +703,8 @@ static PyObject *signalDescrGet(PyObject *self, PyObject *obj, PyObject * /*type
{
auto signal = reinterpret_cast<PySideSignal *>(self);
// Return the unbound signal if there is nothing to bind it to.
- if (obj == nullptr || obj == Py_None) {
+ if (obj == nullptr || obj == Py_None
+ || !PySide::isQObjectDerived(Py_TYPE(obj), true)) {
Py_INCREF(self);
return self;
}