server crash fix

This commit is contained in:
Max-Wilhelm Bruker 2012-04-22 10:57:42 +02:00
parent 0165ea61ff
commit afe5c72204

View file

@ -331,7 +331,13 @@ ResponseCode Server_Player::moveCard(CommandContainer *cont, Server_CardZone *st
QList<QPair<Server_Card *, int> > cardsToMove; QList<QPair<Server_Card *, int> > cardsToMove;
QMap<Server_Card *, CardToMove *> cardProperties; QMap<Server_Card *, CardToMove *> cardProperties;
QSet<int> cardIdsToMove;
for (int i = 0; i < _cards.size(); ++i) { for (int i = 0; i < _cards.size(); ++i) {
// The same card being moved twice would lead to undefined behaviour.
if (cardIdsToMove.contains(_cards[i]->getCardId()))
continue;
cardIdsToMove.insert(_cards[i]->getCardId());
int position; int position;
Server_Card *card = startzone->getCard(_cards[i]->getCardId(), &position); Server_Card *card = startzone->getCard(_cards[i]->getCardId(), &position);
if (!card) if (!card)