Add a guard in case the printing info is empty for a related card. (#6087)

Took 4 hours 19 minutes

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
BruebachL 2025-08-24 05:34:41 +02:00 committed by GitHub
parent 268559d8de
commit ba794c2b60
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 24 additions and 4 deletions

View file

@ -1899,6 +1899,11 @@ void Player::actCreateRelatedCard()
if (createRelatedFromRelation(sourceCard, cardRelation) && cardRelation->getCanCreateAnother()) {
ExactCard relatedCard = CardDatabaseManager::getInstance()->getCardFromSameSet(
cardRelation->getName(), sourceCard->getCard().getPrinting());
if (!relatedCard) {
return;
}
setLastToken(relatedCard.getCardPtr());
}
}
@ -2064,6 +2069,10 @@ void Player::createCard(const CardItem *sourceCard,
ExactCard relatedCard = CardDatabaseManager::getInstance()->getCardFromSameSet(cardInfo->getName(),
sourceCard->getCard().getPrinting());
if (!relatedCard) {
return;
}
switch (attachType) {
case CardRelation::DoesNotAttach:
cmd.set_target_zone("table");
@ -4169,9 +4178,7 @@ void Player::addRelatedCardActions(const CardItem *card, QMenu *cardMenu)
for (const CardRelation *cardRelation : relatedCards) {
ExactCard relatedCard = CardDatabaseManager::getInstance()->getCardFromSameSet(cardRelation->getName(),
card->getCard().getPrinting());
if (!relatedCard) {
relatedCard = CardDatabaseManager::getInstance()->getCard({cardRelation->getName()});
}
if (!relatedCard) {
continue;
}