[Card] Respect disabled sets when loading v3 card databases (#6882) (#7004)

(cherry picked from commit 0c140d866f)
This commit is contained in:
DawnFire42 2026-06-17 08:09:05 -04:00 committed by RickyRister
parent 42a3930faa
commit 26167fe3e9

View file

@ -217,12 +217,16 @@ void CockatriceXml3Parser::loadCardsFromXml(QXmlStreamReader &xml)
// NOTE: attributes must be read before readElementText() // NOTE: attributes must be read before readElementText()
QXmlStreamAttributes attrs = xml.attributes(); QXmlStreamAttributes attrs = xml.attributes();
QString setName = xml.readElementText(QXmlStreamReader::IncludeChildElements); QString setName = xml.readElementText(QXmlStreamReader::IncludeChildElements);
PrintingInfo setInfo(internalAddSet(setName)); auto set = internalAddSet(setName);
// Only load printings from sets the user has enabled, matching the v4 loader's
// behaviour. Without this check, disabling a set has no effect on v3 databases.
if (set->getEnabled()) {
PrintingInfo setInfo(set);
if (attrs.hasAttribute("muId")) { if (attrs.hasAttribute("muId")) {
setInfo.setProperty("muid", attrs.value("muId").toString()); setInfo.setProperty("muid", attrs.value("muId").toString());
} }
if (attrs.hasAttribute("muId")) { if (attrs.hasAttribute("uuId")) {
setInfo.setProperty("uuid", attrs.value("uuId").toString()); setInfo.setProperty("uuid", attrs.value("uuId").toString());
} }
@ -238,6 +242,7 @@ void CockatriceXml3Parser::loadCardsFromXml(QXmlStreamReader &xml)
setInfo.setProperty("rarity", attrs.value("rarity").toString()); setInfo.setProperty("rarity", attrs.value("rarity").toString());
} }
_sets[setName].append(setInfo); _sets[setName].append(setInfo);
}
// related cards // related cards
} else if (xmlName == "related" || xmlName == "reverse-related") { } else if (xmlName == "related" || xmlName == "reverse-related") {
CardRelationType attach = CardRelationType::DoesNotAttach; CardRelationType attach = CardRelationType::DoesNotAttach;