sanity checks; server crash fix
This commit is contained in:
parent
a8e9501dad
commit
0603b3dafd
3 changed files with 9 additions and 2 deletions
|
@ -99,6 +99,10 @@ void CardZone::addCard(CardItem *card, bool reorganize, int x, int y)
|
||||||
CardItem *CardZone::getCard(int cardId, const QString &cardName)
|
CardItem *CardZone::getCard(int cardId, const QString &cardName)
|
||||||
{
|
{
|
||||||
CardItem *c = cards.findCard(cardId, false);
|
CardItem *c = cards.findCard(cardId, false);
|
||||||
|
if (!c) {
|
||||||
|
qDebug() << "CardZone::getCard: card id=" << cardId << "not found";
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
// If the card's id is -1, this zone is invisible,
|
// If the card's id is -1, this zone is invisible,
|
||||||
// so we need to give the card an id and a name as it comes out.
|
// so we need to give the card an id and a name as it comes out.
|
||||||
// It can be assumed that in an invisible zone, all cards are equal.
|
// It can be assumed that in an invisible zone, all cards are equal.
|
||||||
|
|
|
@ -563,6 +563,10 @@ void Player::eventSetCardAttr(Event_SetCardAttr *event)
|
||||||
emit logSetTapped(this, QString("-1"), event->getAttrValue() == "1");
|
emit logSetTapped(this, QString("-1"), event->getAttrValue() == "1");
|
||||||
} else {
|
} else {
|
||||||
CardItem *card = zone->getCard(event->getCardId(), QString());
|
CardItem *card = zone->getCard(event->getCardId(), QString());
|
||||||
|
if (!card) {
|
||||||
|
qDebug() << "Player::eventSetCardAttr: card id=" << event->getCardId() << "not found";
|
||||||
|
return;
|
||||||
|
}
|
||||||
setCardAttrHelper(card, event->getAttrName(), event->getAttrValue(), false);
|
setCardAttrHelper(card, event->getAttrName(), event->getAttrValue(), false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,8 +65,7 @@ void Server::closeOldSession(const QString &playerName)
|
||||||
}
|
}
|
||||||
if (session) {
|
if (session) {
|
||||||
qDebug() << "found";
|
qDebug() << "found";
|
||||||
removeClient(session);
|
delete session; // ~Server_ProtocolHandler() will call Server::removeClient
|
||||||
delete session;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue