Skip to content

Commit

Permalink
BLADERUNNER: Fix a couple of memory leaks
Browse files Browse the repository at this point in the history
  • Loading branch information
madmoose authored and sev- committed Sep 29, 2016
1 parent eba8ed5 commit da33169
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 4 deletions.
16 changes: 14 additions & 2 deletions engines/bladerunner/bladerunner.cpp
Expand Up @@ -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;
Expand All @@ -90,6 +97,9 @@ BladeRunnerEngine::~BladeRunnerEngine() {

_surface1.free();
_surface2.free();

delete[] _zBuffer1;
delete[] _zBuffer2;
}

bool BladeRunnerEngine::hasFeature(EngineFeature f) const {
Expand All @@ -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();
Expand Down
1 change: 1 addition & 0 deletions engines/bladerunner/clues.cpp
Expand Up @@ -45,6 +45,7 @@ Clues::Clues(BladeRunnerEngine *vm, const char *cluesResource, uint32 clueCount)
}

Clues::~Clues() {
delete _cluesText;
delete[] _assetTypes;
delete[] _crimes;
}
Expand Down
5 changes: 4 additions & 1 deletion engines/bladerunner/scene.h
Expand Up @@ -61,7 +61,10 @@ class Scene {
_nextSetId(-1),
_nextSceneId(-1),
_playerWalkedIn(false)
{
{}

~Scene() {
delete _set;
}

bool open(int setId, int sceneId, bool isLoadingGame);
Expand Down
2 changes: 1 addition & 1 deletion engines/bladerunner/text_resource.cpp
Expand Up @@ -50,7 +50,7 @@ bool TextResource::open(const char *name) {

char resName[13];
sprintf(resName, "%s.TRE", name);
Common::SeekableReadStream *s = _vm->getResourceStream(resName);
Common::ScopedPtr<Common::SeekableReadStream> s(_vm->getResourceStream(resName));
if (!s)
return false;

Expand Down
1 change: 1 addition & 0 deletions engines/bladerunner/vqa_decoder.cpp
Expand Up @@ -571,6 +571,7 @@ VQADecoder::VQAVideoTrack::~VQAVideoTrack() {
if (_surface)
_surface->free();
delete _surface;
delete _zbuffer;
}

uint16 VQADecoder::VQAVideoTrack::getWidth() const {
Expand Down

0 comments on commit da33169

Please sign in to comment.