diff --git a/src/plugins/coreplugin/progressmanager/progressmanager.cpp b/src/plugins/coreplugin/progressmanager/progressmanager.cpp index cac1b2bc427..0bf4ac62298 100644 --- a/src/plugins/coreplugin/progressmanager/progressmanager.cpp +++ b/src/plugins/coreplugin/progressmanager/progressmanager.cpp @@ -439,7 +439,11 @@ FutureProgress *ProgressManagerPrivate::doAddTask(const QFuture &future, c progress->setKeepOnFinish(FutureProgress::HideOnFinish); connect(progress, &FutureProgress::hasErrorChanged, this, &ProgressManagerPrivate::updateSummaryProgressBar); - connect(progress, &FutureProgress::removeMe, this, &ProgressManagerPrivate::slotRemoveTask); + connect(progress, &FutureProgress::removeMe, this, [this, progress] { + const Id type = progress->type(); + removeTask(progress); + removeOldTasks(type, true); + }); connect(progress, &FutureProgress::fadeStarted, this, &ProgressManagerPrivate::updateSummaryProgressBar); connect(progress, &FutureProgress::statusBarWidgetChanged, @@ -548,15 +552,6 @@ bool ProgressManagerPrivate::isLastFading() const return true; } -void ProgressManagerPrivate::slotRemoveTask() -{ - auto progress = qobject_cast(sender()); - QTC_ASSERT(progress, return); - Id type = progress->type(); - removeTask(progress); - removeOldTasks(type, true); -} - void ProgressManagerPrivate::removeOldTasks(const Id type, bool keepOne) { bool firstFound = !keepOne; // start with false if we want to keep one diff --git a/src/plugins/coreplugin/progressmanager/progressmanager_p.h b/src/plugins/coreplugin/progressmanager/progressmanager_p.h index b28ad4f711d..f7483283d16 100644 --- a/src/plugins/coreplugin/progressmanager/progressmanager_p.h +++ b/src/plugins/coreplugin/progressmanager/progressmanager_p.h @@ -81,7 +81,6 @@ private: void updateVisibilityWithDelay(); void updateStatusDetailsWidget(); - void slotRemoveTask(); void readSettings(); void initInternal(); void stopFadeOfSummaryProgress();