AbstractProcessStep: Free output parser chain in error case

Change-Id: Ie0dc094068bfa56f728d84ee13e70efbc980f8b3
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Tobias Hunger
2017-04-24 13:37:55 +02:00
parent 6ef5a36b39
commit 1e178915df
2 changed files with 8 additions and 0 deletions

View File

@@ -172,6 +172,13 @@ bool CMakeBuildStep::init(QList<const BuildStep *> &earlierSteps)
emit addTask(Task::buildConfigurationMissingTask()); emit addTask(Task::buildConfigurationMissingTask());
canInit = false; canInit = false;
} }
if (!bc->isEnabled()) {
emit addTask(Task(Task::Error,
QCoreApplication::translate("CMakeProjectManager::CMakeBuildStep",
"The build configuration is currently disabled."),
Utils::FileName(), -1, ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
canInit = false;
}
CMakeTool *tool = CMakeKitInformation::cmakeTool(target()->kit()); CMakeTool *tool = CMakeKitInformation::cmakeTool(target()->kit());
if (!tool || !tool->isValid()) { if (!tool || !tool->isValid()) {

View File

@@ -205,6 +205,7 @@ void AbstractProcessStep::run(QFutureInterface<bool> &fi)
if (!m_process->waitForStarted()) { if (!m_process->waitForStarted()) {
processStartupFailed(); processStartupFailed();
m_process.reset(); m_process.reset();
m_outputParserChain.reset();
reportRunResult(fi, false); reportRunResult(fi, false);
return; return;
} }