summaryrefslogtreecommitdiffstats
path: root/src/network/ssl/qsslsocket.cpp
diff options
context:
space:
mode:
authorMike Achtelik <mike.achtelik@gmail.com>2021-11-09 15:24:16 +0100
committerMike Achtelik <mike.achtelik@gmail.com>2022-01-13 22:12:32 +0100
commitc3c57cb968d73302abb4fe02340e6d9b0cd65ae0 (patch)
tree7aea0eae8ad4240c5ac6c8651569839cb14367ba /src/network/ssl/qsslsocket.cpp
parent4cc1d81d79da912fefe1cd36fcde159e1bbd31e5 (diff)
QTlsBackend: Fix living QObjects after QCoreApplication shutdown
Since switching to the plugin bases system for the tls backends, Qt again retains some QObjects after QCoreApplication shutdown. This was previously fixed in QTBUG-84234, so make sure we destroy the newly introduced QObjects as well. Task-number: QTBUG-84234 Pick-to: 6.3 Change-Id: I1aaea2c90f7d55793c19259be4f9173b4befb246 Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/network/ssl/qsslsocket.cpp')
-rw-r--r--src/network/ssl/qsslsocket.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp
index 71d2595361..de92f486cd 100644
--- a/src/network/ssl/qsslsocket.cpp
+++ b/src/network/ssl/qsslsocket.cpp
@@ -3118,7 +3118,12 @@ QTlsBackend *QSslSocketPrivate::tlsBackendInUse()
return nullptr;
}
- return tlsBackend = QTlsBackend::findBackend(activeBackendName);
+ tlsBackend = QTlsBackend::findBackend(activeBackendName);
+ QObject::connect(tlsBackend, &QObject::destroyed, [] {
+ const QMutexLocker locker(&backendMutex);
+ tlsBackend = nullptr;
+ });
+ return tlsBackend;
}
/*!