diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp index 09f8f6cfc..b79da062b 100644 --- a/src/game/GameController.cpp +++ b/src/game/GameController.cpp @@ -11,7 +11,8 @@ using namespace std; GameController::GameController(): - search(NULL) + search(NULL), + renderOptions(NULL) { gameView = new GameView(); gameModel = new GameModel(); @@ -29,6 +30,11 @@ GameController::~GameController() ui::Engine::Ref().CloseWindow(); delete search; } + if(renderOptions) + { + ui::Engine::Ref().CloseWindow(); + delete renderOptions; + } delete gameView; delete gameModel; } @@ -135,8 +141,8 @@ void GameController::OpenDisplayOptions() void GameController::OpenRenderOptions() { - RenderController * renderController = new RenderController(gameModel->GetRenderer()); - ui::Engine::Ref().ShowWindow(renderController->GetView()); + renderOptions = new RenderController(gameModel->GetRenderer()); + ui::Engine::Ref().ShowWindow(renderOptions->GetView()); } void GameController::OpenSaveWindow() diff --git a/src/game/GameController.h b/src/game/GameController.h index d7232d2e7..f945cce35 100644 --- a/src/game/GameController.h +++ b/src/game/GameController.h @@ -7,6 +7,7 @@ #include "interface/Point.h" #include "simulation/Simulation.h" #include "search/SearchController.h" +#include "render/RenderController.h" #include "Menu.h" using namespace std; @@ -20,6 +21,7 @@ private: GameView * gameView; GameModel * gameModel; SearchController * search; + RenderController * renderOptions; public: GameController(); ~GameController();