arrow crash bug fix

This commit is contained in:
Max-Wilhelm Bruker 2010-09-15 18:45:43 +02:00
parent 6fb16545ee
commit eff0c0cc24
3 changed files with 24 additions and 4 deletions

View file

@ -721,7 +721,7 @@ void Player::eventMoveCard(Event_MoveCard *event)
while (playerIterator.hasNext()) {
Player *p = playerIterator.next().value();
QList<int> arrowsToDelete;
QList<ArrowItem *> arrowsToDelete;
QMapIterator<int, ArrowItem *> arrowIterator(p->getArrows());
while (arrowIterator.hasNext()) {
ArrowItem *arrow = arrowIterator.next().value();
@ -729,11 +729,11 @@ void Player::eventMoveCard(Event_MoveCard *event)
if (startZone == targetZone)
arrow->updatePath();
else
arrowsToDelete.append(arrow->getId());
arrowsToDelete.append(arrow);
}
}
for (int i = 0; i < arrowsToDelete.size(); ++i)
p->delArrow(arrowsToDelete[i]);
arrowsToDelete[i]->delArrow();
}
}
@ -928,7 +928,7 @@ void Player::deleteCard(CardItem *c)
if (dialogSemaphore)
cardsToDelete.append(c);
else
delete c;
c->deleteLater();
}
void Player::addZone(CardZone *z)