summaryrefslogtreecommitdiff
path: root/src/game/GameModel.cpp
diff options
context:
space:
mode:
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();