Fix a crash after removing all buildsteps.

This commit is contained in:
dt
2009-07-27 16:37:06 +02:00
parent 52145e0b98
commit 7335c28106

View File

@@ -266,12 +266,17 @@ void BuildStepsPage::stepMoveUp(int pos)
void BuildStepsPage::updateBuildStepButtonsState() void BuildStepsPage::updateBuildStepButtonsState()
{ {
int pos = m_ui->buildSettingsList->currentIndex().row(); int pos = m_ui->buildSettingsList->currentIndex().row();
if (pos == -1) {
const QList<BuildStep *> &steps = m_clean ? m_pro->cleanSteps() : m_pro->buildSteps(); m_ui->buildStepRemoveToolButton->setEnabled(false);
m_ui->buildStepRemoveToolButton->setEnabled(!steps.at(pos)->immutable()); m_ui->buildStepUpToolButton->setEnabled(false);
bool enableUp = pos>0 && !(steps.at(pos)->immutable() && steps.at(pos-1)->immutable()); m_ui->buildStepDownToolButton->setEnabled(false);
m_ui->buildStepUpToolButton->setEnabled(enableUp); } else {
bool enableDown = pos < (m_ui->buildSettingsList->invisibleRootItem()->childCount() - 1) && const QList<BuildStep *> &steps = m_clean ? m_pro->cleanSteps() : m_pro->buildSteps();
!(steps.at(pos)->immutable() && steps.at(pos+1)->immutable()); m_ui->buildStepRemoveToolButton->setEnabled(!steps.at(pos)->immutable());
m_ui->buildStepDownToolButton->setEnabled(enableDown); 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);
}
} }