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 <eike.ziller@qt.io>
This commit is contained in:
Jarek Kobus
2021-08-27 17:56:02 +02:00
parent 90a9185137
commit c145f95952
2 changed files with 7 additions and 1 deletions

View File

@@ -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);

View File

@@ -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; }