Fix crash on removing targets

Reported on irc.

Change-Id: I9e9911fff70c999158b941ab16918af03a51c728
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
This commit is contained in:
Daniel Teske
2011-12-06 15:13:50 +01:00
parent def8f9f986
commit a082365d65

View File

@@ -177,17 +177,20 @@ bool Project::removeTarget(Target *target)
if (bm->isBuilding(target))
return false;
emit aboutToRemoveTarget(target);
d->m_targets.removeOne(target);
emit removedTarget(target);
if (target == activeTarget()) {
if (d->m_targets.isEmpty())
if (d->m_targets.size() == 1) {
setActiveTarget(0);
else
} else if (d->m_targets.first() == target) {
setActiveTarget(d->m_targets.at(1));
} else {
setActiveTarget(d->m_targets.at(0));
}
}
emit aboutToRemoveTarget(target);
d->m_targets.removeOne(target);
emit removedTarget(target);
delete target;
return true;
}