From b7980253a94e7a14e737389ab249228ffd413edc Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 24 Apr 2020 13:56:27 +0200 Subject: [PATCH] ProjectExplorer: Fix the "unload while building" case This probably broke in or around 966f4ea6a9. Change-Id: Ib61f181558b0ebeb17d6b52798af80b7307cac41 Reviewed-by: hjk Reviewed-by: Christian Stenger --- src/plugins/projectexplorer/buildmanager.cpp | 3 +-- src/plugins/projectexplorer/buildstep.cpp | 5 +++++ src/plugins/projectexplorer/buildstep.h | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp index b6a8b2564c5..db59d90e295 100644 --- a/src/plugins/projectexplorer/buildmanager.cpp +++ b/src/plugins/projectexplorer/buildmanager.cpp @@ -700,8 +700,7 @@ void BuildManager::nextStep() disconnect(d->m_currentBuildStep, nullptr, instance(), nullptr); BuildManager::nextBuildQueue(); }; - connect(d->m_currentBuildStep, &BuildStep::finished, instance(), finishedHandler, - Qt::QueuedConnection); + connect(d->m_currentBuildStep, &BuildStep::finished, instance(), finishedHandler); connect(d->m_currentBuildStep, &BuildStep::progress, instance(), &BuildManager::progressChanged); d->m_outputWindow->outputFormatter()->reset(); diff --git a/src/plugins/projectexplorer/buildstep.cpp b/src/plugins/projectexplorer/buildstep.cpp index b7edd0d21a7..ca64125d3a3 100644 --- a/src/plugins/projectexplorer/buildstep.cpp +++ b/src/plugins/projectexplorer/buildstep.cpp @@ -134,6 +134,11 @@ BuildStep::BuildStep(BuildStepList *bsl, Core::Id id) : QTC_CHECK(bsl->target() && bsl->target() == this->target()); } +BuildStep::~BuildStep() +{ + emit finished(false); +} + void BuildStep::run() { m_cancelFlag = false; diff --git a/src/plugins/projectexplorer/buildstep.h b/src/plugins/projectexplorer/buildstep.h index 048b798ba48..03a88c8b1a2 100644 --- a/src/plugins/projectexplorer/buildstep.h +++ b/src/plugins/projectexplorer/buildstep.h @@ -68,6 +68,7 @@ protected: explicit BuildStep(BuildStepList *bsl, Core::Id id); public: + ~BuildStep() override; virtual bool init() = 0; void run(); void cancel();