mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-21 09:52:16 -07:00
Include cardName in the PixmapCacheKey in order to not break double-faced cards.
This commit is contained in:
parent
018c57b7fa
commit
89daa0ec4a
2 changed files with 7 additions and 4 deletions
|
|
@ -45,7 +45,8 @@ PictureToLoad::PictureToLoad(CardInfoPtr _card)
|
|||
std::sort(sortedSets.begin(), sortedSets.end(), SetDownloadPriorityComparator());
|
||||
// If the pixmapCacheKey corresponds to a specific set, we have to try to load it first.
|
||||
for (const auto &set : card->getSets()) {
|
||||
if (QLatin1String("card_") + QString(set.getProperty("uuid")) == card->getPixmapCacheKey()) {
|
||||
if (QLatin1String("card_") + card->getName() + QString("_") + QString(set.getProperty("uuid")) ==
|
||||
card->getPixmapCacheKey()) {
|
||||
long long setIndex = sortedSets.indexOf(set.getPtr());
|
||||
CardSetPtr setForCardUUID = sortedSets.takeAt(setIndex);
|
||||
sortedSets.prepend(setForCardUUID);
|
||||
|
|
|
|||
|
|
@ -451,7 +451,8 @@ CardInfoPtr CardDatabase::getCardByNameAndUUID(const QString &cardName, const QS
|
|||
for (const auto &set : info->getSets()) {
|
||||
if (set.getProperty("uuid") == uuid) {
|
||||
CardInfoPtr cardFromSpecificSet = info->clone();
|
||||
cardFromSpecificSet->setPixmapCacheKey(QLatin1String("card_") + QString(set.getProperty("uuid")));
|
||||
cardFromSpecificSet->setPixmapCacheKey(QLatin1String("card_") + QString(info->getName()) + QString("_") +
|
||||
QString(set.getProperty("uuid")));
|
||||
return cardFromSpecificSet;
|
||||
}
|
||||
}
|
||||
|
|
@ -600,7 +601,8 @@ LoadStatus CardDatabase::loadCardDatabases()
|
|||
void CardDatabase::refreshPreferredPrintings()
|
||||
{
|
||||
for (const CardInfoPtr &card : cards) {
|
||||
card->setPixmapCacheKey(QLatin1String("card_") + QString(getPreferredPrintingUUIDForCard(card->getName())));
|
||||
card->setPixmapCacheKey(QLatin1String("card_") + QString(card->getName()) + QString("_") +
|
||||
QString(getPreferredPrintingUUIDForCard(card->getName())));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -673,7 +675,7 @@ QString CardDatabase::getPreferredPrintingUUIDForCard(const QString &cardName)
|
|||
bool CardDatabase::isUuidForPreferredPrinting(const QString &cardName, const QString &uuid)
|
||||
{
|
||||
if (uuid.startsWith("card_")) {
|
||||
return uuid == QLatin1String("card_") + getPreferredPrintingUUIDForCard(cardName);
|
||||
return uuid == QLatin1String("card_") + cardName + QString("_") + getPreferredPrintingUUIDForCard(cardName);
|
||||
}
|
||||
return uuid == getPreferredPrintingUUIDForCard(cardName);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue