From 7ad2972c4df1a5a3fb6c29eaee19720b0b96bdb7 Mon Sep 17 00:00:00 2001 From: ZeldaZach Date: Wed, 27 Nov 2024 12:46:46 -0500 Subject: [PATCH] Fix cards being able to jump between side and mainboard --- cockatrice/src/deck/deck_list_model.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/cockatrice/src/deck/deck_list_model.cpp b/cockatrice/src/deck/deck_list_model.cpp index cc60444c5..0a166dbcd 100644 --- a/cockatrice/src/deck/deck_list_model.cpp +++ b/cockatrice/src/deck/deck_list_model.cpp @@ -1,13 +1,11 @@ #include "deck_list_model.h" -#include "../game/cards/card_database.h" #include "../game/cards/card_database_manager.h" #include "../main.h" #include "../settings/cache_settings.h" #include "deck_loader.h" #include -#include #include #include #include @@ -381,16 +379,17 @@ QModelIndex DeckListModel::addCard(const QString &cardName, const QModelIndex parentIndex = nodeToIndex(cardTypeNode); auto *cardNode = dynamic_cast( cardTypeNode->findCardChildByNameAndProviderId(cardName, cardInfoSet.getProperty("uuid"))); + const auto cardSetName = cardInfoSet.getPtr().isNull() ? "" : cardInfoSet.getPtr()->getCorrectedShortName(); + if (!cardNode) { - auto *decklistCard = - deckList->addCard(cardInfo->getName(), zoneName, cardInfoSet.getPtr()->getCorrectedShortName(), - cardInfoSet.getProperty("num"), cardInfoSet.getProperty("uuid")); + auto *decklistCard = deckList->addCard(cardInfo->getName(), zoneName, cardSetName, + cardInfoSet.getProperty("num"), cardInfoSet.getProperty("uuid")); beginInsertRows(parentIndex, static_cast(cardTypeNode->size()), static_cast(cardTypeNode->size())); cardNode = new DecklistModelCardNode(decklistCard, cardTypeNode); endInsertRows(); } else { cardNode->setNumber(cardNode->getNumber() + 1); - cardNode->setCardSetShortName(cardInfoSet.getPtr()->getCorrectedShortName()); + cardNode->setCardSetShortName(cardSetName); cardNode->setCardCollectorNumber(cardInfoSet.getProperty("num")); cardNode->setCardProviderId(cardInfoSet.getProperty("uuid")); deckList->updateDeckHash();