diff --git a/cockatrice/src/player.cpp b/cockatrice/src/player.cpp index d55aac63..2d5c8c7d 100644 --- a/cockatrice/src/player.cpp +++ b/cockatrice/src/player.cpp @@ -1063,6 +1063,9 @@ void Player::actCreateToken() void Player::actCreateAnotherToken() { + if (lastTokenName.isEmpty()) + return; + Command_CreateToken cmd; cmd.set_zone("table"); cmd.set_card_name(lastTokenName.toStdString()); @@ -1212,7 +1215,13 @@ QString Player::dbNameFromTokenDisplayName(const QString &tokenName) { if (index != -1) { return tokenNamePattern.capturedTexts()[1]; - } else { + } + else if (tokenName.indexOf(tr("Token: ")) != -1) + { + return tokenName.mid(tr("Token: ").length()); + } + else + { return tokenName; } } @@ -2535,6 +2544,9 @@ void Player::processSceneSizeChange(int newPlayerWidth) void Player::setLastToken(CardInfo *cardInfo) { + if (cardInfo == nullptr) + return; + lastTokenName = cardInfo->getName(); lastTokenColor = cardInfo->getColors().isEmpty() ? QString() : cardInfo->getColors().first().toLower(); lastTokenPT = cardInfo->getPowTough();