mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-15 03:28:49 -07:00
fix: find by prefix if card not found only
This commit is contained in:
parent
9092f2298b
commit
10ab53c4ac
1 changed files with 3 additions and 1 deletions
|
|
@ -719,7 +719,7 @@ void CardDatabase::loadCardsFromXml(QXmlStreamReader &xml)
|
||||||
|
|
||||||
CardInfo *CardNameMap::findByPrefix(const std::string &prefix) {
|
CardInfo *CardNameMap::findByPrefix(const std::string &prefix) {
|
||||||
for (CardNameMap::iterator it = this->begin(); it != this->end(); ++it) {
|
for (CardNameMap::iterator it = this->begin(); it != this->end(); ++it) {
|
||||||
if (std::mismatch(prefix.begin(), prefix.end(),
|
if (std::mismatch(prefix.begin(), prefix.end(),
|
||||||
it.key().toStdString().begin()).first == prefix.end())
|
it.key().toStdString().begin()).first == prefix.end())
|
||||||
return it.value();
|
return it.value();
|
||||||
}
|
}
|
||||||
|
|
@ -731,6 +731,8 @@ CardInfo *CardDatabase::getCardFromMap(CardNameMap &cardMap, const QString &card
|
||||||
|
|
||||||
if (cardName.isEmpty())
|
if (cardName.isEmpty())
|
||||||
return noCard;
|
return noCard;
|
||||||
|
else if (cardMap.contains(cardName))
|
||||||
|
return cardMap.value(cardName);
|
||||||
else if ((foundCard = cardMap.findByPrefix(cardName.toStdString())))
|
else if ((foundCard = cardMap.findByPrefix(cardName.toStdString())))
|
||||||
return foundCard;
|
return foundCard;
|
||||||
else if (createIfNotFound) {
|
else if (createIfNotFound) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue