From 706ebca24906b5fbad1bae2fd5fb7a0adbf9cb6e Mon Sep 17 00:00:00 2001 From: "wagic.jeck" Date: Sun, 28 Feb 2010 22:12:17 +0000 Subject: [PATCH] Jeck - Quick fix for issue 370, issue 365, (and hopefully) issue 319 . Thanks for the report, Psy. (Counts weren't being updated as often as they should be. Now they might be updated too often, but that's better than the alternative.) --- projects/mtg/src/GameStateDeckViewer.cpp | 6 +++++- projects/mtg/src/WGui.cpp | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/projects/mtg/src/GameStateDeckViewer.cpp b/projects/mtg/src/GameStateDeckViewer.cpp index f3b77c807..8ecbbc4cb 100644 --- a/projects/mtg/src/GameStateDeckViewer.cpp +++ b/projects/mtg/src/GameStateDeckViewer.cpp @@ -68,15 +68,19 @@ void GameStateDeckViewer::rotateCards(int direction){ } void GameStateDeckViewer::rebuildFilters(){ if(!filterMenu) filterMenu = NEW WGuiFilters("Filter by...",NULL); - source = NEW WSrcDeckViewer(myDeck,myCollection); + if(!source) source = NEW WSrcDeckViewer(myDeck,myCollection); filterMenu->setSrc(source); if(displayed_deck != myDeck) source->swapSrc(); filterMenu->Finish(true); + updateStats(); + source->updateCounts(); } void GameStateDeckViewer::updateFilters(){ if(!displayed_deck) return; filterMenu->recolorFilter(useFilter-1); filterMenu->Finish(true); + source->updateCounts(); + updateStats(); return; } void GameStateDeckViewer::loadIndexes(){ diff --git a/projects/mtg/src/WGui.cpp b/projects/mtg/src/WGui.cpp index 5c9e552c8..78e56688c 100644 --- a/projects/mtg/src/WGui.cpp +++ b/projects/mtg/src/WGui.cpp @@ -1381,7 +1381,7 @@ bool WGuiFilters::Finish(bool emptyset){ source->addFilter(f); } } - if(!source->Size() && !emptyset){ + if((!source->Size() && !emptyset)){ source->clearFilters(); //TODO: Pop a "No results found" warning } } @@ -1601,6 +1601,7 @@ void WGuiFilterItem::updateValue(){ case STATE_UNSET: SAFE_DELETE(mParent->subMenu); mState = STATE_CHOOSE_TYPE; + SAFE_DELETE(mParent->subMenu); mParent->subMenu = NEW SimpleMenu(-1234,this,Constants::MENU_FONT,20,20,"Filter By...",10); if(mParent->isAvailable(FILTER_SET)){ mParent->subMenu->Add(FILTER_SET,"Set");