diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp index 85518f7c0..5399cf8aa 100644 --- a/src/game/GameController.cpp +++ b/src/game/GameController.cpp @@ -19,8 +19,6 @@ public: virtual void ControllerExit() { cc->gameModel->SetUser(cc->loginWindow->GetUser()); - delete cc->loginWindow; - cc->loginWindow = NULL; } }; @@ -116,9 +114,14 @@ void GameController::DrawPoints(queue & pointQueue) } } -void GameController::Tick() +void GameController::Update() { //gameModel->GetSimulation()->update_particles(); + if(loginWindow && loginWindow->HasExited) + { + delete loginWindow; + loginWindow = NULL; + } } void GameController::SetPaused(bool pauseState) diff --git a/src/game/GameController.h b/src/game/GameController.h index 157df99e6..4f076fd6f 100644 --- a/src/game/GameController.h +++ b/src/game/GameController.h @@ -31,7 +31,7 @@ public: GameView * GetView(); void AdjustBrushSize(int direction); void DrawPoints(queue & pointQueue); - void Tick(); + void Update(); void SetPaused(bool pauseState); void SetPaused(); void SetActiveMenu(Menu * menu); diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp index 70f6663f6..469522773 100644 --- a/src/game/GameView.cpp +++ b/src/game/GameView.cpp @@ -414,7 +414,7 @@ void GameView::OnTick(float dt) { c->DrawPoints(pointQueue); } - c->Tick(); + c->Update(); } void GameView::OnDraw() diff --git a/src/login/LoginController.cpp b/src/login/LoginController.cpp index a3162be1b..1a21fc6fc 100644 --- a/src/login/LoginController.cpp +++ b/src/login/LoginController.cpp @@ -8,7 +8,9 @@ #include "LoginController.h" #include "client/User.h" -LoginController::LoginController(ControllerCallback * callback) { +LoginController::LoginController(ControllerCallback * callback): + HasExited(false) +{ // TODO Auto-generated constructor stub loginView = new LoginView(); loginModel = new LoginModel(); @@ -38,6 +40,7 @@ void LoginController::Exit() } if(callback) callback->ControllerExit(); + HasExited = true; } LoginController::~LoginController() { diff --git a/src/login/LoginController.h b/src/login/LoginController.h index eb15d649c..b20e1872c 100644 --- a/src/login/LoginController.h +++ b/src/login/LoginController.h @@ -23,6 +23,7 @@ class LoginController { LoginModel * loginModel; ControllerCallback * callback; public: + bool HasExited; LoginController(ControllerCallback * callback = NULL); void Login(string username, string password); void Exit();