diff options
author | Paul Gilbert | 2011-08-06 22:14:23 +1000 |
---|---|---|
committer | Paul Gilbert | 2011-08-06 22:14:23 +1000 |
commit | 04e09e530a3bff231022ebf1c50ae5b70fc1c4a7 (patch) | |
tree | 1f40b4901aa67f42a70fe8f54cd93d59e0727fb9 /engines/cge | |
parent | 1208e7e5af5d5cf74c615f6b5e7f40800100d146 (diff) | |
download | scummvm-rg350-04e09e530a3bff231022ebf1c50ae5b70fc1c4a7.tar.gz scummvm-rg350-04e09e530a3bff231022ebf1c50ae5b70fc1c4a7.tar.bz2 scummvm-rg350-04e09e530a3bff231022ebf1c50ae5b70fc1c4a7.zip |
CGE: Fix memory leaks in pocket list
Diffstat (limited to 'engines/cge')
-rw-r--r-- | engines/cge/cge.cpp | 10 | ||||
-rw-r--r-- | engines/cge/cge_main.cpp | 1 |
2 files changed, 4 insertions, 7 deletions
diff --git a/engines/cge/cge.cpp b/engines/cge/cge.cpp index b38b6d392f..0d63b32d09 100644 --- a/engines/cge/cge.cpp +++ b/engines/cge/cge.cpp @@ -130,10 +130,8 @@ void CGEEngine::setup() { _vga = new Vga(M13H); _sys = new System(this); _pocLight = new PocLight(this); - for (int i = 0; i < kPocketNX; i++) { - _pocket[i] = new Sprite(this, NULL); - _pocket[i]->_flags._kill = false; - } + for (int i = 0; i < kPocketNX; i++) + _pocket[i] = NULL; _horzLine = new HorizLine(this); _infoLine = new InfoLine(this, kInfoW); _cavLight = new CavLight(this); @@ -207,12 +205,12 @@ CGEEngine::~CGEEngine() { delete _eventManager; delete _fx; delete _sound; - for (int i = 0; i < kPocketNX; i++) - delete _pocket[i]; delete _snail; delete _snail_; delete _hero; + for (int i = 0; _miniShpList[i]; ++i) + delete _miniShpList[i]; delete[] _miniShpList; freeCaveValues(); diff --git a/engines/cge/cge_main.cpp b/engines/cge/cge_main.cpp index 6b6f4ff971..fd45dd797f 100644 --- a/engines/cge/cge_main.cpp +++ b/engines/cge/cge_main.cpp @@ -356,7 +356,6 @@ void CGEEngine::syncGame(Common::SeekableReadStream *readStream, Common::WriteSt for (i = 0; i < kPocketNX; i++) { register int r = _pocref[i]; - delete _pocket[i]; _pocket[i] = (r < 0) ? NULL : _vga->_spareQ->locate(r); } } |