diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-05-17 08:48:03 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-05-17 12:00:50 +0200 |
commit | 9af348ae68363fefea62d75d508812bafc71ccf8 (patch) | |
tree | ed744adc92c580857e20da72aaa24322e3ee42a5 /sources/pyside6/libpyside/pysidesignal.cpp | |
parent | 6a92d845080bf2738c03ceda8ca29c2248d84a40 (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.cpp | 5 |
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; |