diff --git a/projects/mtg/src/DeckStats.cpp b/projects/mtg/src/DeckStats.cpp index 0d704ff5b..0612d55d1 100644 --- a/projects/mtg/src/DeckStats.cpp +++ b/projects/mtg/src/DeckStats.cpp @@ -260,12 +260,9 @@ void StatsWrapper::updateStats(string filename, MTGAllCards *collection) void StatsWrapper::updateStats(DeckDataWrapper *myDeck) { - if (!myDeck) - { - return; - } - if (!this->needUpdate) return; - this->needUpdate = false; + if (!this->needUpdate || !myDeck) return; + + this->needUpdate = false; this->cardCount = myDeck->getCount(WSrcDeck::UNFILTERED_COPIES); this->countLands = myDeck->getCount(Constants::MTG_COLOR_LAND); this->totalPrice = myDeck->totalPrice(); diff --git a/projects/mtg/src/GameStateDeckViewer.cpp b/projects/mtg/src/GameStateDeckViewer.cpp index f69014a45..dcfd2e2f3 100644 --- a/projects/mtg/src/GameStateDeckViewer.cpp +++ b/projects/mtg/src/GameStateDeckViewer.cpp @@ -101,7 +101,10 @@ void GameStateDeckViewer::rebuildFilters() filterMenu->setSrc(source); if (displayed_deck != myDeck) source->swapSrc(); filterMenu->Finish(true); - stw->updateStats( myDeck );; + + // no stats need updating if there isn't a deck to update + if (stw && myDeck) + stw->updateStats( myDeck );; } void GameStateDeckViewer::updateFilters() {