Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-05-17 08:48:03 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2023-05-17 12:00:50 +0200
commit9af348ae68363fefea62d75d508812bafc71ccf8 (patch)
treeed744adc92c580857e20da72aaa24322e3ee42a5 /sources/pyside6/libpyside/pysidesignal.cpp
parent6a92d845080bf2738c03ceda8ca29c2248d84a40 (diff)
PySide6: Prevent crash when connecting to temporary signal sources
Add a check to the connect function. Pick-to: 6.5 Fixes: PYSIDE-2328 Change-Id: I62a10ef5710487f8ab23cc46c1cc4a34fab5e2b1 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Diffstat (limited to 'sources/pyside6/libpyside/pysidesignal.cpp')
-rw-r--r--sources/pyside6/libpyside/pysidesignal.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/sources/pyside6/libpyside/pysidesignal.cpp b/sources/pyside6/libpyside/pysidesignal.cpp
index 17071cd1d..ad2a42802 100644
--- a/sources/pyside6/libpyside/pysidesignal.cpp
+++ b/sources/pyside6/libpyside/pysidesignal.cpp
@@ -441,6 +441,11 @@ static PyObject *signalInstanceConnect(PyObject *self, PyObject *args, PyObject
PyErr_Format(PyExc_RuntimeError, "cannot connect uninitialized SignalInstance");
return nullptr;
}
+ if (source->deleted) {
+ PyErr_Format(PyExc_RuntimeError, "Signal source has been deleted");
+ return nullptr;
+ }
+
Shiboken::AutoDecRef pyArgs(PyList_New(0));
bool match = false;