diff options
author | Paweł Kołodziejski | 2004-01-14 16:00:24 +0000 |
---|---|---|
committer | Paweł Kołodziejski | 2004-01-14 16:00:24 +0000 |
commit | dd2262b1875e6c01222abea2252baa3a94677897 (patch) | |
tree | f76d2e9ca46e19ac95c7b7eab49529ffb967b752 /scumm | |
parent | b1141ae71718d4693c637d4c169bef37ae1cc036 (diff) | |
download | scummvm-rg350-dd2262b1875e6c01222abea2252baa3a94677897.tar.gz scummvm-rg350-dd2262b1875e6c01222abea2252baa3a94677897.tar.bz2 scummvm-rg350-dd2262b1875e6c01222abea2252baa3a94677897.zip |
fixed crash on exit when using imuse digital
svn-id: r12389
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/imuse_digi/dimuse.h | 2 | ||||
-rw-r--r-- | scumm/scummvm.cpp | 9 |
2 files changed, 6 insertions, 5 deletions
diff --git a/scumm/imuse_digi/dimuse.h b/scumm/imuse_digi/dimuse.h index fb896e0429..d611746799 100644 --- a/scumm/imuse_digi/dimuse.h +++ b/scumm/imuse_digi/dimuse.h @@ -97,7 +97,7 @@ private: public: IMuseDigital(ScummEngine *scumm); - ~IMuseDigital(); + virtual ~IMuseDigital(); void startVoice(int soundId, AudioStream *input) { debug(5, "startVoiceStream(%d)", soundId); startSound(soundId, NULL, 0, IMUSE_VOICE, input); } diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp index 04f7a33d54..35f7952610 100644 --- a/scumm/scummvm.cpp +++ b/scumm/scummvm.cpp @@ -851,6 +851,11 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS } ScummEngine::~ScummEngine() { + if (_musicEngine) { + _musicEngine->terminate(); + delete _musicEngine; + } + _mixer->stopAll(); delete [] _actors; @@ -862,10 +867,6 @@ ScummEngine::~ScummEngine() { delete _mainMenuDialog; delete _sound; - if (_musicEngine) { - _musicEngine->terminate(); - delete _musicEngine; - } free(_languageBuffer); free(_audioNames); |