diff --git a/cockatrice/src/abstractcarditem.cpp b/cockatrice/src/abstractcarditem.cpp index b16304ca..3601cfc7 100644 --- a/cockatrice/src/abstractcarditem.cpp +++ b/cockatrice/src/abstractcarditem.cpp @@ -45,8 +45,14 @@ void AbstractCardItem::pixmapUpdated() void AbstractCardItem::cardInfoUpdated() { info = db->getCard(name); - if (info) - connect(info.data(), SIGNAL(pixmapUpdated()), this, SLOT(pixmapUpdated())); + + if (!info) { + QVariantHash properties = QVariantHash(); + + info = CardInfo::newInstance(name, "", true, QVariantHash(), QList(), QList(), + CardInfoPerSetMap(), false, -1, false); + } + connect(info.data(), SIGNAL(pixmapUpdated()), this, SLOT(pixmapUpdated())); cacheBgColor(); update(); diff --git a/cockatrice/src/pictureloader.cpp b/cockatrice/src/pictureloader.cpp index cecca1de..480dce5b 100644 --- a/cockatrice/src/pictureloader.cpp +++ b/cockatrice/src/pictureloader.cpp @@ -33,6 +33,9 @@ PictureToLoad::PictureToLoad(CardInfoPtr _card) : card(std::move(_card)) for (const auto &set : card->getSets()) { sortedSets << set.getPtr(); } + if (sortedSets.empty()) { + sortedSets << CardSet::newInstance("", "", "", QDate()); + } qSort(sortedSets.begin(), sortedSets.end(), SetDownloadPriorityComparator()); // The first time called, nextSet will also populate the Urls for the first set. nextSet(); diff --git a/cockatrice/src/player.cpp b/cockatrice/src/player.cpp index 69115706..f6e7509e 100644 --- a/cockatrice/src/player.cpp +++ b/cockatrice/src/player.cpp @@ -1514,7 +1514,7 @@ void Player::eventCreateToken(const Event_CreateToken &event) if (!QString::fromStdString(event.pt()).isEmpty()) { card->setPT(QString::fromStdString(event.pt())); } else { - CardInfoPtr dbCard = db->getCard(QString::fromStdString(event.card_name())); + CardInfoPtr dbCard = card->getInfo(); if (dbCard) { card->setPT(dbCard->getPowTough()); }