diff options
author | Thomas Fach-Pedersen | 2015-02-10 21:09:12 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2016-09-29 22:33:38 +0200 |
commit | da33169b75021d19f35867aca2b9322c1aec0005 (patch) | |
tree | 56a087fa9f554e1f272bbd6b15045fe3eb928d98 /engines/bladerunner/bladerunner.cpp | |
parent | eba8ed5c6642cf3686c4fb7e28ceca9299e3a33a (diff) | |
download | scummvm-rg350-da33169b75021d19f35867aca2b9322c1aec0005.tar.gz scummvm-rg350-da33169b75021d19f35867aca2b9322c1aec0005.tar.bz2 scummvm-rg350-da33169b75021d19f35867aca2b9322c1aec0005.zip |
BLADERUNNER: Fix a couple of memory leaks
Diffstat (limited to 'engines/bladerunner/bladerunner.cpp')
-rw-r--r-- | engines/bladerunner/bladerunner.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp index d69a77c381..13ccae7fed 100644 --- a/engines/bladerunner/bladerunner.cpp +++ b/engines/bladerunner/bladerunner.cpp @@ -71,15 +71,22 @@ BladeRunnerEngine::BladeRunnerEngine(OSystem *syst) _settings = new Settings(this); _sliceAnimations = new SliceAnimations(this); _sliceRenderer = new SliceRenderer(this); + + _zBuffer1 = nullptr; + _zBuffer2 = nullptr; + + _actorNames = nullptr; } BladeRunnerEngine::~BladeRunnerEngine() { + delete _actorNames; + delete _sliceRenderer; delete _sliceAnimations; delete _settings; delete _script; delete _scene; - delete _gameVars; + delete[] _gameVars; delete _gameFlags; delete _gameInfo; delete _clues; @@ -90,6 +97,9 @@ BladeRunnerEngine::~BladeRunnerEngine() { _surface1.free(); _surface2.free(); + + delete[] _zBuffer1; + delete[] _zBuffer2; } bool BladeRunnerEngine::hasFeature(EngineFeature f) const { @@ -102,8 +112,10 @@ Common::Error BladeRunnerEngine::run() { _system->showMouse(true); - if (!startup()) + if (!startup()) { + shutdown(); return Common::Error(Common::kUnknownError, "Failed to initialize resources"); + } if (warnUserAboutUnsupportedGame()) { init2(); |