From a09bc8d7fa91a4a4b07eeefa4d625ced2d96b078 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 25 Apr 2018 08:20:37 +0200 Subject: [PATCH] ProjectExplorer: Add destructors to some run config aspects BaseStringAspect and ExecutableAspects were leaking their extras. Change-Id: I6dc2a66e4f3e9910f1c460d40056d68cf12b9774 Reviewed-by: Christian Stenger --- .../projectexplorer/runconfigurationaspects.cpp | 14 ++++++++++++++ .../projectexplorer/runconfigurationaspects.h | 3 +++ 2 files changed, 17 insertions(+) diff --git a/src/plugins/projectexplorer/runconfigurationaspects.cpp b/src/plugins/projectexplorer/runconfigurationaspects.cpp index 893590e9370..e8c5d1c2140 100644 --- a/src/plugins/projectexplorer/runconfigurationaspects.cpp +++ b/src/plugins/projectexplorer/runconfigurationaspects.cpp @@ -303,6 +303,12 @@ BaseStringAspect::BaseStringAspect(RunConfiguration *rc) { } +BaseStringAspect::~BaseStringAspect() +{ + delete m_checker; + m_checker = nullptr; +} + QString BaseStringAspect::value() const { return m_value; @@ -486,6 +492,12 @@ ExecutableAspect::ExecutableAspect(RunConfiguration *rc) m_executable.setDisplayStyle(BaseStringAspect::LabelDisplay); } +ExecutableAspect::~ExecutableAspect() +{ + delete m_alternativeExecutable; + m_alternativeExecutable = nullptr; +} + void ExecutableAspect::setExecutablePathStyle(OsType osType) { m_executable.setDisplayFilter([osType](const QString &pathName) { @@ -584,6 +596,8 @@ BaseBoolAspect::BaseBoolAspect(RunConfiguration *runConfig, const QString &setti setSettingsKey(settingsKey); } +BaseBoolAspect::~BaseBoolAspect() = default; + void BaseBoolAspect::addToConfigurationLayout(QFormLayout *layout) { QTC_CHECK(!m_checkBox); diff --git a/src/plugins/projectexplorer/runconfigurationaspects.h b/src/plugins/projectexplorer/runconfigurationaspects.h index 2ba4cf916ef..983773da8ae 100644 --- a/src/plugins/projectexplorer/runconfigurationaspects.h +++ b/src/plugins/projectexplorer/runconfigurationaspects.h @@ -132,6 +132,7 @@ class PROJECTEXPLORER_EXPORT BaseBoolAspect : public IRunConfigurationAspect public: explicit BaseBoolAspect(RunConfiguration *rc, const QString &settingsKey = QString()); + ~BaseBoolAspect() override; void addToConfigurationLayout(QFormLayout *layout); @@ -174,6 +175,7 @@ class PROJECTEXPLORER_EXPORT BaseStringAspect : public IRunConfigurationAspect public: explicit BaseStringAspect(RunConfiguration *rc); + ~BaseStringAspect() override; void addToConfigurationLayout(QFormLayout *layout); @@ -226,6 +228,7 @@ class PROJECTEXPLORER_EXPORT ExecutableAspect : public IRunConfigurationAspect public: explicit ExecutableAspect(RunConfiguration *rc); + ~ExecutableAspect() override; Utils::FileName executable() const; void setExecutable(const Utils::FileName &executable);