diff options
| author | jacob1 <jfu614@gmail.com> | 2013-02-24 20:23:34 (GMT) |
|---|---|---|
| committer | jacob1 <jfu614@gmail.com> | 2013-02-24 20:23:34 (GMT) |
| commit | b92bd245c8b1311b6cd63171611e47a6468e410f (patch) | |
| tree | 141f09ef4f17901013442c2dd381ac0032178836 /src | |
| parent | 0939494747908bb702f24598e883c3d1f70e3710 (diff) | |
| download | powder-b92bd245c8b1311b6cd63171611e47a6468e410f.zip powder-b92bd245c8b1311b6cd63171611e47a6468e410f.tar.gz | |
fix 4 MB memory leak on every save
Diffstat (limited to 'src')
| -rw-r--r-- | src/client/GameSave.cpp | 10 | ||||
| -rw-r--r-- | src/game/GameModel.cpp | 4 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/client/GameSave.cpp b/src/client/GameSave.cpp index af8bbf2..f50d8bd 100644 --- a/src/client/GameSave.cpp +++ b/src/client/GameSave.cpp @@ -2064,6 +2064,16 @@ fin: free(partsSaveIndex); if (soapLinkData) free(soapLinkData); + if (partsPosData) + free(partsPosData); + if (partsPosFirstMap) + free(partsPosFirstMap); + if (partsPosLastMap) + free(partsPosLastMap); + if (partsPosCount) + free(partsPosCount); + if (partsPosLink) + free(partsPosLink); return (char*)outputData; } diff --git a/src/game/GameModel.cpp b/src/game/GameModel.cpp index bc8ec4f..0dbf2f7 100644 --- a/src/game/GameModel.cpp +++ b/src/game/GameModel.cpp @@ -175,6 +175,10 @@ GameModel::~GameModel() { delete brushList[i]; } + for(std::deque<Snapshot*>::iterator iter = history.begin(), end = history.end(); iter != end; ++iter) + { + delete *iter; + } delete sim; delete ren; if(placeSave) |
