diff options
Diffstat (limited to 'engines/composer/composer.cpp')
-rw-r--r-- | engines/composer/composer.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/engines/composer/composer.cpp b/engines/composer/composer.cpp index 1fa21a5494..5c66d9f0bf 100644 --- a/engines/composer/composer.cpp +++ b/engines/composer/composer.cpp @@ -53,8 +53,11 @@ ComposerEngine::ComposerEngine(OSystem *syst, const ComposerGameDescription *gam ComposerEngine::~ComposerEngine() { DebugMan.clearAllDebugChannels(); + stopPipes(); for (Common::List<OldScript *>::iterator i = _oldScripts.begin(); i != _oldScripts.end(); i++) delete *i; + for (Common::List<Animation *>::iterator i = _anims.begin(); i != _anims.end(); i++) + delete *i; for (Common::List<Library>::iterator i = _libraries.begin(); i != _libraries.end(); i++) delete i->_archive; for (Common::List<Sprite>::iterator i = _sprites.begin(); i != _sprites.end(); i++) @@ -421,10 +424,7 @@ void ComposerEngine::unloadLibrary(uint id) { delete *j; } _anims.clear(); - for (Common::List<Pipe *>::iterator j = _pipes.begin(); j != _pipes.end(); j++) { - delete *j; - } - _pipes.clear(); + stopPipes(); for (Common::List<Sprite>::iterator j = _sprites.begin(); j != _sprites.end(); j++) { j->_surface.free(); |