summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJannis Voelker <jannis.voelker@basyskom.com>2024-01-30 13:46:20 +0100
committerJannis Voelker <jannis.voelker@basyskom.com>2024-01-30 15:33:23 +0100
commit8f18ecaccd7b49272a19e643ffa9e7c018a1858e (patch)
treeafc69417b110aa37c6e1229923cc1bc633a491ea
parentfe3bfc5eeea7ed95e73837e0dbdc9f63f13d5c46 (diff)
Fix race condition in tst_clientSetupInCpp
If the client is not deleted before the destructor of the class registered for QML returns, a qDebug call from inside the client causes a segfault. Pick-to: 6.7 6.6 Change-Id: Idf26d0127103e9a30773bcbca3bddc4755b57cfa Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
-rw-r--r--tests/auto/clientSetupInCpp/tst_clientSetupInCpp.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/tests/auto/clientSetupInCpp/tst_clientSetupInCpp.cpp b/tests/auto/clientSetupInCpp/tst_clientSetupInCpp.cpp
index 56c03ae..1638660 100644
--- a/tests/auto/clientSetupInCpp/tst_clientSetupInCpp.cpp
+++ b/tests/auto/clientSetupInCpp/tst_clientSetupInCpp.cpp
@@ -30,6 +30,11 @@ public:
MyClass (QObject* parent = nullptr) : QObject(parent) {
}
+ ~MyClass() {
+ if (m_client)
+ delete m_client;
+ }
+
QOpcUaClient *connection() const {
return m_client;
}