Fix crash that occured when opening the editor a second time

This commit is contained in:
Tobias Loose
2013-12-06 20:13:30 +01:00
parent 7e9c4ddbdd
commit 2002bb4e16
2 changed files with 5 additions and 14 deletions

View File

@@ -105,7 +105,7 @@ private:
void setButtonState(bool state);
bool userPressedButton();
void RenderButtons();
void setupView(AvailableView view);
void setupView(AvailableView view, DeckDataWrapper *deck);
void toggleView();
public:
GameStateDeckViewer(GameApp* parent);

View File

@@ -172,8 +172,7 @@ void GameStateDeckViewer::Start()
playerdata = NEW PlayerData(MTGCollection());
myCollection = NEW DeckDataWrapper(playerdata->collection);
myCollection->Sort(WSrcCards::SORT_ALPHA);
setupView(mCurrentView);
setupView(mCurrentView, myCollection);
//Icons
mIcons = manaIcons;
@@ -338,21 +337,14 @@ void GameStateDeckViewer::RenderButtons()
toggleViewButton->Render();
}
void GameStateDeckViewer::setupView(GameStateDeckViewer::AvailableView view)
void GameStateDeckViewer::setupView(GameStateDeckViewer::AvailableView view, DeckDataWrapper *deck)
{
DeckDataWrapper *wrapper = myCollection;
if(mView)
{
wrapper = mView->deck();
}
SAFE_DELETE(mView);
if(view == CAROUSEL_VIEW) mView = NEW CarouselDeckView();
else if(view == GRID_VIEW) mView = NEW GridDeckView();
mView->SetDeck(wrapper);
mView->SetDeck(deck);
updateFilters();
}
@@ -368,8 +360,7 @@ void GameStateDeckViewer::toggleView()
mCurrentView = CAROUSEL_VIEW;
toggleViewButton->setText("Grid");
}
setupView(mCurrentView);
setupView(mCurrentView, mView->deck());
}
void GameStateDeckViewer::Update(float dt)