From c145f95952fb51df2a993b9c7205f87832d97d20 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 27 Aug 2021 17:56:02 +0200 Subject: [PATCH] Add a virtual destructor for the LauncherSignal base class Move qDeleteAll into cpp file, as LauncherSignal is defined there. Change-Id: I59ed1de2025c3f62196e1c676accf26b3fb813ac Reviewed-by: Eike Ziller --- src/libs/utils/launchersocket.cpp | 6 ++++++ src/libs/utils/launchersocket.h | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/libs/utils/launchersocket.cpp b/src/libs/utils/launchersocket.cpp index 39b26dac0ac..ba8b14fecc1 100644 --- a/src/libs/utils/launchersocket.cpp +++ b/src/libs/utils/launchersocket.cpp @@ -41,6 +41,7 @@ class LauncherSignal { public: CallerHandle::SignalType signalType() const { return m_signalType; } + virtual ~LauncherSignal() = default; protected: LauncherSignal(CallerHandle::SignalType signalType) : m_signalType(signalType) {} private: @@ -105,6 +106,11 @@ private: const int m_exitCode; }; +CallerHandle::~CallerHandle() +{ + qDeleteAll(m_signals); +} + bool CallerHandle::waitForStarted(int msecs) { return waitForSignal(msecs, SignalType::Started); diff --git a/src/libs/utils/launchersocket.h b/src/libs/utils/launchersocket.h index 1d8e6bf6872..56dfa65e007 100644 --- a/src/libs/utils/launchersocket.h +++ b/src/libs/utils/launchersocket.h @@ -68,7 +68,7 @@ public: }; Q_ENUM(SignalType) CallerHandle(quintptr token, ProcessMode mode) : QObject(), m_token(token), m_processMode(mode) {} - ~CallerHandle() override { qDeleteAll(m_signals); } + ~CallerHandle() override; LauncherHandle *launcherHandle() const { return m_launcherHandle; } void setLauncherHandle(LauncherHandle *handle) { QMutexLocker locker(&m_mutex); m_launcherHandle = handle; }