diff options
author | Paul Gilbert | 2011-08-06 20:03:42 +1000 |
---|---|---|
committer | Paul Gilbert | 2011-08-06 20:03:42 +1000 |
commit | 46e1f03585ffd841eba3a2f5570bd0559cb833bd (patch) | |
tree | d1fc0d1cbff1bcdbc7116dc90d5276b74a650965 | |
parent | db61f65b41530b01d2aa2ae6f31496bee669585d (diff) | |
download | scummvm-rg350-46e1f03585ffd841eba3a2f5570bd0559cb833bd.tar.gz scummvm-rg350-46e1f03585ffd841eba3a2f5570bd0559cb833bd.tar.bz2 scummvm-rg350-46e1f03585ffd841eba3a2f5570bd0559cb833bd.zip |
CGE: Fixed up freeing of caveValues data
-rw-r--r-- | engines/cge/cge.cpp | 10 | ||||
-rw-r--r-- | engines/cge/cge.h | 1 | ||||
-rw-r--r-- | engines/cge/cge_main.cpp | 4 |
3 files changed, 9 insertions, 6 deletions
diff --git a/engines/cge/cge.cpp b/engines/cge/cge.cpp index 603352d8a0..2a4ea6bea2 100644 --- a/engines/cge/cge.cpp +++ b/engines/cge/cge.cpp @@ -99,6 +99,12 @@ void CGEEngine::initCaveValues() { } } +void CGEEngine::freeCaveValues() { + delete[] _mini; + free(_heroXY); + free(_barriers); +} + void CGEEngine::setup() { debugC(1, kCGEDebugEngine, "CGEEngine::setup()"); @@ -209,10 +215,8 @@ CGEEngine::~CGEEngine() { delete _snail; delete _snail_; delete _hero; - delete[] _mini; - free(_heroXY); - free(_barriers); + freeCaveValues(); } Common::Error CGEEngine::run() { diff --git a/engines/cge/cge.h b/engines/cge/cge.h index 54ea9e37f6..54bbadfef7 100644 --- a/engines/cge/cge.h +++ b/engines/cge/cge.h @@ -219,6 +219,7 @@ public: void postMiniStep(int stp); void showBak(int ref); void initCaveValues(); + void freeCaveValues(); void snBackPt(Sprite *spr, int stp); void snBarrier(int cav, int bar, bool horz); diff --git a/engines/cge/cge_main.cpp b/engines/cge/cge_main.cpp index 3d1c451862..b17f40b863 100644 --- a/engines/cge/cge_main.cpp +++ b/engines/cge/cge_main.cpp @@ -113,9 +113,7 @@ void CGEEngine::syncHeader(Common::Serializer &s) { if (s.isLoading()) { // Reinitialise cave values - free(_heroXY); - free(_barriers); - + freeCaveValues(); initCaveValues(); } |