diff --git a/cockatrice/src/client/ui/widgets/printing_selector/printing_selector_card_sorting_widget.cpp b/cockatrice/src/client/ui/widgets/printing_selector/printing_selector_card_sorting_widget.cpp index 003610f40..734c5cec7 100644 --- a/cockatrice/src/client/ui/widgets/printing_selector/printing_selector_card_sorting_widget.cpp +++ b/cockatrice/src/client/ui/widgets/printing_selector/printing_selector_card_sorting_widget.cpp @@ -103,8 +103,9 @@ QList PrintingSelectorCardSortingWidget::sortSets(const CardInfo for (auto it = cardInfoPerSets.begin(); it != cardInfoPerSets.end(); ++it) { for (const auto &cardInfoPerSet : it.value()) { if (cardInfoPerSet.getPtr() == set) { - sortedCardInfoPerSets << cardInfoPerSet; - break; + if (!sortedCardInfoPerSets.contains(cardInfoPerSet)) { + sortedCardInfoPerSets << cardInfoPerSet; + } } } } diff --git a/cockatrice/src/game/cards/card_database.h b/cockatrice/src/game/cards/card_database.h index a2164bad9..a88f9671c 100644 --- a/cockatrice/src/game/cards/card_database.h +++ b/cockatrice/src/game/cards/card_database.h @@ -144,6 +144,11 @@ public: explicit CardInfoPerSet(const CardSetPtr &_set = QSharedPointer(nullptr)); ~CardInfoPerSet() = default; + bool operator==(const CardInfoPerSet &other) const + { + return this->set == other.set && this->properties == other.properties; + } + private: CardSetPtr set; // per-set card properties;