diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-12-06 17:56:14 +0100 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-12-08 10:30:35 +0100 |
| commit | 1270a9e82e5bc3bd53a1131698ece60403da1192 (patch) | |
| tree | 5015e154c123078bd5d4524b63f06db6f2f0cd69 /build_scripts/options.py | |
| parent | f7e2771a8f3a187407822df4564deeb7df1712dc (diff) | |
Fix a crash when deleting QObject instances with connections in threads
GlobalReceiverV2 connected to the destroyed() signal of the senders to
keep track of its lifetime, which caused issues with delayed emission
of signals when using threads.
To fix this, change GlobalReceiverV2's sender list to use QPointer,
which automatically tracks the lifetime of the pointees. Move the
deletion of the GlobalReceiverV2 instances into SignalManager,
completely, removing the "delete this" pattern used.
This allows for removing some hacks for the QObject::receivers()
function.
Fixes: PYSIDE-2141
Change-Id: I361256f919dab13bfcf20800624b2454308bbc4b
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'build_scripts/options.py')
0 files changed, 0 insertions, 0 deletions
