diff options
author | Colin Snover | 2017-11-14 12:48:41 -0600 |
---|---|---|
committer | Eugene Sandulenko | 2017-11-18 22:35:12 +0100 |
commit | ff96db23dfd9e2075a710786fa0b1a01c6759a02 (patch) | |
tree | 2014aef31b047f8a1f1dbfd117b05997cedb733f /engines/fullpipe/gameloader.cpp | |
parent | 6f8a65c739740956930c95e1d5a5c5fe0c80fbbd (diff) | |
download | scummvm-rg350-ff96db23dfd9e2075a710786fa0b1a01c6759a02.tar.gz scummvm-rg350-ff96db23dfd9e2075a710786fa0b1a01c6759a02.tar.bz2 scummvm-rg350-ff96db23dfd9e2075a710786fa0b1a01c6759a02.zip |
FULLPIPE: Fix leaks and unnecessary extra allocations in FullpipeEngine
Diffstat (limited to 'engines/fullpipe/gameloader.cpp')
-rw-r--r-- | engines/fullpipe/gameloader.cpp | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/engines/fullpipe/gameloader.cpp b/engines/fullpipe/gameloader.cpp index efa5f8c2c7..32c2d0d2db 100644 --- a/engines/fullpipe/gameloader.cpp +++ b/engines/fullpipe/gameloader.cpp @@ -54,8 +54,6 @@ GameLoader::GameLoader() { _interactionController = new InteractionController(); _inputController = new InputController(); - _gameProject = 0; - addMessageHandlerByIndex(global_messageHandler2, 0, 0); insertMessageHandler(global_messageHandler3, 0, 128); insertMessageHandler(global_messageHandler4, 0, 1); @@ -77,12 +75,9 @@ GameLoader::GameLoader() { } GameLoader::~GameLoader() { - delete _gameProject; delete _interactionController; delete _inputController; - g_fp->_gameLoader = 0; - for (uint i = 0; i < _sc2array.size(); i++) { if (_sc2array[i]._defPicAniInfos) free(_sc2array[i]._defPicAniInfos); @@ -112,11 +107,11 @@ bool GameLoader::load(MfcArchive &file) { _gameName = file.readPascalString(); debugC(1, kDebugLoading, "_gameName: %s", _gameName.c_str()); - _gameProject = new GameProject(); + _gameProject.reset(new GameProject()); _gameProject->load(file); - g_fp->_gameProject = _gameProject; + g_fp->_gameProject = _gameProject.get(); if (g_fp->_gameProjectVersion < 12) { error("Old gameProjectVersion: %d", g_fp->_gameProjectVersion); |