summaryrefslogtreecommitdiff
path: root/src/game/GameModel.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-06-18 15:43:40 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-06-18 15:43:40 (GMT)
commit7ffaa421d184ef63c9e34fa80b2438d1ec670161 (patch)
tree954bc49bd7304d6054612d1fe8ad42e5ccb64ecd /src/game/GameModel.cpp
parent5e301ba17c0b73c52189bac329b20143213817bd (diff)
downloadpowder-7ffaa421d184ef63c9e34fa80b2438d1ec670161.zip
powder-7ffaa421d184ef63c9e34fa80b2438d1ec670161.tar.gz
GameModel manages currentSave instance
Diffstat (limited to 'src/game/GameModel.cpp')
-rw-r--r--src/game/GameModel.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/game/GameModel.cpp b/src/game/GameModel.cpp
index cf9324b..2a18d6b 100644
--- a/src/game/GameModel.cpp
+++ b/src/game/GameModel.cpp
@@ -182,6 +182,8 @@ GameModel::~GameModel()
delete clipboard;
if(stamp)
delete stamp;
+ if(currentSave)
+ delete currentSave;
//if(activeTools)
// delete[] activeTools;
}
@@ -279,7 +281,11 @@ void GameModel::SetSave(SaveInfo * newSave)
{
if(currentSave != newSave)
delete currentSave;
- currentSave = newSave;
+ if(newSave == NULL)
+ currentSave = NULL;
+ else if(currentSave != newSave)
+ currentSave = new SaveInfo(*newSave);
+
if(currentSave && currentSave->GetGameSave())
{
GameSave * saveData = currentSave->GetGameSave();