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 /engines/sky | |
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
Diffstat (limited to 'engines/sky')
-rw-r--r-- | engines/sky/control.cpp | 12 | ||||
-rw-r--r-- | engines/sky/intro.cpp | 3 | ||||
-rw-r--r-- | engines/sky/sky.cpp | 3 |
3 files changed, 11 insertions, 7 deletions
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); |