diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-01-21 13:19:10 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-01-21 13:19:10 (GMT) |
| commit | 8ec6aae617525d13697d1c2a612ac37be0f341d5 (patch) | |
| tree | e4cdf0795e0f77505acc0c1be544532912569959 /src/game | |
| parent | d364a27ed6da5d75d1880c98c3fb2be683c5b915 (diff) | |
| download | powder-8ec6aae617525d13697d1c2a612ac37be0f341d5.zip powder-8ec6aae617525d13697d1c2a612ac37be0f341d5.tar.gz | |
Better cleanup for simulation - fix memory leaks
Diffstat (limited to 'src/game')
| -rw-r--r-- | src/game/GameController.cpp | 8 | ||||
| -rw-r--r-- | src/game/GameController.h | 5 | ||||
| -rw-r--r-- | src/game/GameModel.cpp | 6 | ||||
| -rw-r--r-- | src/game/GameModel.h | 3 |
4 files changed, 18 insertions, 4 deletions
diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp index 07f2722..d8cff8b 100644 --- a/src/game/GameController.cpp +++ b/src/game/GameController.cpp @@ -17,7 +17,13 @@ GameController::GameController() gameView->AttachController(this); gameModel->AddObserver(gameView); - sim = new Simulation(); + //sim = new Simulation(); +} + +GameController::~GameController() +{ + delete gameView; + delete gameModel; } GameView * GameController::GetView() diff --git a/src/game/GameController.h b/src/game/GameController.h index d9755a1..63d8e5e 100644 --- a/src/game/GameController.h +++ b/src/game/GameController.h @@ -14,11 +14,12 @@ class GameView; class GameController { private: - Simulation * sim; + //Simulation * sim; GameView * gameView; GameModel * gameModel; public: - GameController(); + GameController(); + ~GameController(); GameView * GetView(); void DrawPoints(queue<ui::Point*> & pointQueue); void Tick(); diff --git a/src/game/GameModel.cpp b/src/game/GameModel.cpp index 50f266f..54c8dd4 100644 --- a/src/game/GameModel.cpp +++ b/src/game/GameModel.cpp @@ -13,6 +13,12 @@ GameModel::GameModel(): ren = new Renderer(ui::Engine::Ref().g, sim); } +GameModel::~GameModel() +{ + delete sim; + delete ren; +} + void GameModel::AddObserver(GameView * observer){ observers.push_back(observer); diff --git a/src/game/GameModel.h b/src/game/GameModel.h index 6cb74cb..c709535 100644 --- a/src/game/GameModel.h +++ b/src/game/GameModel.h @@ -23,7 +23,8 @@ private: void notifySimulationChanged(); void notifyPausedChanged(); public: - GameModel(); + GameModel(); + ~GameModel(); void AddObserver(GameView * observer); int GetActiveElement(); void SetActiveElement(int element); |
