From 48780ccc24d75a44314c01276502504bbf3145e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Mon, 27 Jul 2026 12:09:51 +0200 Subject: [PATCH] Small bug fixes Took 20 minutes Took 10 seconds --- .../libcockatrice/card/database/card_database.cpp | 12 ++++++++++++ .../card/database/card_database_loader.cpp | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/libcockatrice_card/libcockatrice/card/database/card_database.cpp b/libcockatrice_card/libcockatrice/card/database/card_database.cpp index 443552eb3..56f228c69 100644 --- a/libcockatrice_card/libcockatrice/card/database/card_database.cpp +++ b/libcockatrice_card/libcockatrice/card/database/card_database.cpp @@ -241,6 +241,18 @@ void CardDatabase::addFormat(const FormatRulesPtr &format) void CardDatabase::swapInDatabaseData(CardDatabaseData data) { + for (const auto &card : cards) { + for (auto *rel : card->getRelatedCards()) { + rel->deleteLater(); + } + for (auto *rel : card->getReverseRelatedCards()) { + rel->deleteLater(); + } + for (auto *rel : card->getReverseRelatedCards2Me()) { + rel->deleteLater(); + } + } + cards = std::move(data.cards); simpleNameCards = std::move(data.simpleNameCards); sets = std::move(data.sets); diff --git a/libcockatrice_card/libcockatrice/card/database/card_database_loader.cpp b/libcockatrice_card/libcockatrice/card/database/card_database_loader.cpp index d4dc567b6..8e5a83205 100644 --- a/libcockatrice_card/libcockatrice/card/database/card_database_loader.cpp +++ b/libcockatrice_card/libcockatrice/card/database/card_database_loader.cpp @@ -2,6 +2,7 @@ #include "card_database.h" #include "card_database_cache.h" +#include "parser/card_database_parser.h" #include "parser/cockatrice_xml_3.h" #include "parser/cockatrice_xml_4.h" @@ -92,6 +93,8 @@ LoadStatus CardDatabaseLoader::doLoadCardDatabases() emit loadingStarted(); qCInfo(CardDatabaseLoadingLog) << "Card Database Loading Started"; + ICardDatabaseParser::clearSetlist(); + CardDatabaseData data; LoadStatus loadStatus = NotLoaded; @@ -126,6 +129,7 @@ LoadStatus CardDatabaseLoader::doLoadCardDatabases() qCInfo(CardDatabaseLoadingSuccessOrFailureLog) << "Card Database Loading Success"; emit databaseDataReady(std::move(data)); emit loadingFinished(); + database->checkUnknownSets(); } else { qCInfo(CardDatabaseLoadingSuccessOrFailureLog) << "Card Database Loading Failed"; emit loadingFailed(); // bring up the settings dialog