diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp index 26aa6313236f9204ac6f96687965021a08455074..ef4a75b8293d7f8e32adcded77537f3a7ca04758 100644 --- a/src/plugins/projectexplorer/buildmanager.cpp +++ b/src/plugins/projectexplorer/buildmanager.cpp @@ -244,6 +244,9 @@ void BuildManager::startBuildQueue() Core::ProgressManager *progressManager = Core::ICore::instance()->progressManager(); m_progressFutureInterface = new QFutureInterface<void>; m_progressWatcher.setFuture(m_progressFutureInterface->future()); + m_outputWindow->clearContents(); + m_taskWindow->clearTasks(Constants::TASK_CATEGORY_COMPILE); + m_taskWindow->clearTasks(Constants::TASK_CATEGORY_BUILDSYSTEM); progressManager->setApplicationLabel(""); Core::FutureProgress *progress = progressManager->addTask(m_progressFutureInterface->future(), tr("Build"), @@ -257,9 +260,6 @@ void BuildManager::startBuildQueue() m_running = true; m_canceling = false; m_progressFutureInterface->reportStarted(); - m_outputWindow->clearContents(); - m_taskWindow->clearTasks(Constants::TASK_CATEGORY_COMPILE); - m_taskWindow->clearTasks(Constants::TASK_CATEGORY_BUILDSYSTEM); nextStep(); } else { // Already running diff --git a/src/plugins/projectexplorer/buildprogress.cpp b/src/plugins/projectexplorer/buildprogress.cpp index 42b29bef5773b746c7ed3dce03842d5e9f87941a..6e954d67d8f49e15145740010ee93a6eef2469d1 100644 --- a/src/plugins/projectexplorer/buildprogress.cpp +++ b/src/plugins/projectexplorer/buildprogress.cpp @@ -79,7 +79,6 @@ BuildProgress::BuildProgress(TaskWindow *taskWindow) hide(); connect(m_taskWindow, SIGNAL(tasksChanged()), this, SLOT(updateState())); - updateState(); } void BuildProgress::updateState() @@ -98,9 +97,9 @@ void BuildProgress::updateState() m_warningLabel->setText(QString("%1").arg(warnings)); // Hide warnings and errors unless you need them - setVisible(haveWarnings | haveErrors); m_warningIcon->setVisible(haveWarnings); m_warningLabel->setVisible(haveWarnings); m_errorIcon->setVisible(haveErrors); m_errorLabel->setVisible(haveErrors); + setVisible(haveWarnings || haveErrors); }