From 7335c2810642c5b4156a6e1d629a646866f1ee0f Mon Sep 17 00:00:00 2001 From: dt Date: Mon, 27 Jul 2009 16:37:06 +0200 Subject: [PATCH] Fix a crash after removing all buildsteps. --- .../projectexplorer/buildstepspage.cpp | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/plugins/projectexplorer/buildstepspage.cpp b/src/plugins/projectexplorer/buildstepspage.cpp index cc82be902ff..4a74669f70c 100644 --- a/src/plugins/projectexplorer/buildstepspage.cpp +++ b/src/plugins/projectexplorer/buildstepspage.cpp @@ -266,12 +266,17 @@ void BuildStepsPage::stepMoveUp(int pos) void BuildStepsPage::updateBuildStepButtonsState() { int pos = m_ui->buildSettingsList->currentIndex().row(); - - const QList &steps = m_clean ? m_pro->cleanSteps() : m_pro->buildSteps(); - m_ui->buildStepRemoveToolButton->setEnabled(!steps.at(pos)->immutable()); - bool enableUp = pos>0 && !(steps.at(pos)->immutable() && steps.at(pos-1)->immutable()); - m_ui->buildStepUpToolButton->setEnabled(enableUp); - bool enableDown = pos < (m_ui->buildSettingsList->invisibleRootItem()->childCount() - 1) && - !(steps.at(pos)->immutable() && steps.at(pos+1)->immutable()); - m_ui->buildStepDownToolButton->setEnabled(enableDown); + if (pos == -1) { + m_ui->buildStepRemoveToolButton->setEnabled(false); + m_ui->buildStepUpToolButton->setEnabled(false); + m_ui->buildStepDownToolButton->setEnabled(false); + } else { + const QList &steps = m_clean ? m_pro->cleanSteps() : m_pro->buildSteps(); + m_ui->buildStepRemoveToolButton->setEnabled(!steps.at(pos)->immutable()); + bool enableUp = pos>0 && !(steps.at(pos)->immutable() && steps.at(pos-1)->immutable()); + m_ui->buildStepUpToolButton->setEnabled(enableUp); + bool enableDown = pos < (m_ui->buildSettingsList->invisibleRootItem()->childCount() - 1) && + !(steps.at(pos)->immutable() && steps.at(pos+1)->immutable()); + m_ui->buildStepDownToolButton->setEnabled(enableDown); + } }