diff options
author | Christopher Page | 2008-08-13 20:27:39 +0000 |
---|---|---|
committer | Christopher Page | 2008-08-13 20:27:39 +0000 |
commit | 2d31207a8169491647d8fa3baab7eadbfdfa1da9 (patch) | |
tree | 5b59af197cdb4caf0510343f173dbc5a54dfeaf1 | |
parent | c9e0422722eadeabdd0fd0dfe8591f90a3f00e89 (diff) | |
download | scummvm-rg350-2d31207a8169491647d8fa3baab7eadbfdfa1da9.tar.gz scummvm-rg350-2d31207a8169491647d8fa3baab7eadbfdfa1da9.tar.bz2 scummvm-rg350-2d31207a8169491647d8fa3baab7eadbfdfa1da9.zip |
Fixed some memory leaks
svn-id: r33846
-rw-r--r-- | engines/kyra/kyra_lok.cpp | 4 | ||||
-rw-r--r-- | engines/kyra/staticres.cpp | 1 | ||||
-rw-r--r-- | engines/sky/control.cpp | 12 | ||||
-rw-r--r-- | engines/sky/intro.cpp | 3 | ||||
-rw-r--r-- | engines/sky/sky.cpp | 3 | ||||
-rw-r--r-- | gui/launcher.cpp | 1 |
6 files changed, 17 insertions, 7 deletions
diff --git a/engines/kyra/kyra_lok.cpp b/engines/kyra/kyra_lok.cpp index afd164958c..2ce8af4a81 100644 --- a/engines/kyra/kyra_lok.cpp +++ b/engines/kyra/kyra_lok.cpp @@ -118,8 +118,12 @@ KyraEngine_LoK::~KyraEngine_LoK() { delete[] _characterList; + delete[] _roomTable; + delete[] _movFacingTable; + delete[] _defaultShapeTable; + delete[] _gui->_scrollUpButton.data0ShapePtr; delete[] _gui->_scrollUpButton.data1ShapePtr; delete[] _gui->_scrollUpButton.data2ShapePtr; diff --git a/engines/kyra/staticres.cpp b/engines/kyra/staticres.cpp index bb63c24c36..5c0e05f23d 100644 --- a/engines/kyra/staticres.cpp +++ b/engines/kyra/staticres.cpp @@ -920,6 +920,7 @@ void StaticResource::freePaletteTable(void *&ptr, int &size) { uint8 **data = (uint8**)ptr; while (size--) delete[] data[size]; + delete[] data; ptr = 0; size = 0; } diff --git a/engines/sky/control.cpp b/engines/sky/control.cpp index 3edc087f57..8699c893e4 100644 --- a/engines/sky/control.cpp +++ b/engines/sky/control.cpp @@ -238,13 +238,17 @@ void Control::removePanel(void) { free(_sprites.slide2); free(_sprites.slode); free(_sprites.slode2); free(_sprites.musicBodge); delete _controlPanel; delete _exitButton; - delete _slide; delete _slide2; - delete _slode; delete _restorePanButton; + delete _slide; delete _slide2; + delete _slode; delete _restorePanButton; + delete _savePanel; delete _saveButton; + delete _downFastButton; delete _downSlowButton; + delete _upFastButton; delete _upSlowButton; + delete _quitButton; delete _autoSaveButton; delete _savePanButton; delete _dosPanButton; delete _restartPanButton; delete _fxPanButton; delete _musicPanButton; delete _bodge; - delete _yesNo; delete _text; - delete _statusBar; delete _restoreButton; + delete _yesNo; delete _text; + delete _statusBar; delete _restoreButton; if (_textSprite) { free(_textSprite); diff --git a/engines/sky/intro.cpp b/engines/sky/intro.cpp index d7a94f6c2f..86e26309c9 100644 --- a/engines/sky/intro.cpp +++ b/engines/sky/intro.cpp @@ -640,9 +640,6 @@ Intro::Intro(Disk *disk, Screen *screen, MusicBase *music, Sound *sound, Text *t } Intro::~Intro(void) { - - _mixer->stopAll(); - _skyScreen->stopSequence(); if (_textBuf) free(_textBuf); if (_saveBuf) diff --git a/engines/sky/sky.cpp b/engines/sky/sky.cpp index 44347cf9a7..bcdc9f5130 100644 --- a/engines/sky/sky.cpp +++ b/engines/sky/sky.cpp @@ -277,6 +277,8 @@ SkyEngine::~SkyEngine() { delete _skyDisk; delete _skyControl; delete _skyCompact; + if (_skyIntro) + delete _skyIntro; for (int i = 0; i < 300; i++) if (_itemList[i]) @@ -473,6 +475,7 @@ int SkyEngine::init() { _systemVars.systemFlags |= SF_PLAY_VOCS; _systemVars.gameSpeed = 50; + _skyIntro = 0; _skyCompact = new SkyCompact(); _skyText = new Text(_skyDisk, _skyCompact); _skyMouse = new Mouse(_system, _skyDisk, _skyCompact); diff --git a/gui/launcher.cpp b/gui/launcher.cpp index 29e1365d70..37804e1c81 100644 --- a/gui/launcher.cpp +++ b/gui/launcher.cpp @@ -669,6 +669,7 @@ void LauncherDialog::selectGame(const String &name) { LauncherDialog::~LauncherDialog() { delete _browser; + delete _loadDialog; } void LauncherDialog::open() { |