From a03771d66b0dd35c82238257e3b8d51bfaf22ff6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Thu, 25 Sep 2025 11:15:51 +0200 Subject: [PATCH] Simplify add card. Took 25 minutes Took 6 minutes --- cockatrice/src/database/card_database.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/cockatrice/src/database/card_database.cpp b/cockatrice/src/database/card_database.cpp index 315716884..8ca1d1e85 100644 --- a/cockatrice/src/database/card_database.cpp +++ b/cockatrice/src/database/card_database.cpp @@ -69,21 +69,21 @@ void CardDatabase::addCard(CardInfoPtr card) return; } - // if card already exists just add the new set property - if (cards.contains(card->getName())) { - CardInfoPtr sameCard = cards[card->getName()]; - for (const auto &printings : card->getSets()) { - for (const PrintingInfo &printing : printings) { - sameCard->addToSet(printing.getSet(), printing); - } - } + + auto name = card->getName(); + + // If a card already exists, just add the new set property. + if (auto existing = cards.value(name)) { + for (const auto &printings : card->getSets()) + for (const auto &printing : printings) + existing->addToSet(printing.getSet(), printing); return; } - addCardMutex->lock(); - cards.insert(card->getName(), card); + QMutexLocker locker(addCardMutex); + cards.insert(name, card); simpleNameCards.insert(card->getSimpleName(), card); - addCardMutex->unlock(); + emit cardAdded(card); }