ProjectExplorer: Add destructors to some run config aspects

BaseStringAspect and ExecutableAspects were leaking their extras.

Change-Id: I6dc2a66e4f3e9910f1c460d40056d68cf12b9774
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2018-04-25 08:20:37 +02:00
parent 63eca96f99
commit a09bc8d7fa
2 changed files with 17 additions and 0 deletions

View File

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

View File

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