diff --git a/cockatrice/src/carddatabase.cpp b/cockatrice/src/carddatabase.cpp index ae399f19..a9939468 100644 --- a/cockatrice/src/carddatabase.cpp +++ b/cockatrice/src/carddatabase.cpp @@ -511,8 +511,11 @@ QStringList CardDatabase::getAllColors() const QHashIterator cardIterator(cardHash); while (cardIterator.hasNext()) { const QStringList &cardColors = cardIterator.next().value()->getColors(); - for (int i = 0; i < cardColors.size(); ++i) - colors.insert(cardColors[i]); + if (cardColors.isEmpty()) + colors.insert("X"); + else + for (int i = 0; i < cardColors.size(); ++i) + colors.insert(cardColors[i]); } return colors.toList(); } diff --git a/cockatrice/src/carddatabasemodel.cpp b/cockatrice/src/carddatabasemodel.cpp index 3f8e42d1..b5b09152 100644 --- a/cockatrice/src/carddatabasemodel.cpp +++ b/cockatrice/src/carddatabasemodel.cpp @@ -87,7 +87,7 @@ bool CardDatabaseDisplayModel::filterAcceptsRow(int sourceRow, const QModelIndex return false; if (!cardColors.isEmpty()) - if (QSet::fromList(info->getColors()).intersect(cardColors).isEmpty()) + if (QSet::fromList(info->getColors()).intersect(cardColors).isEmpty() && !(info->getColors().isEmpty() && cardColors.contains("X"))) return false; if (!cardTypes.isEmpty())