diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/mortevielle/actions.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/mortevielle/actions.cpp b/engines/mortevielle/actions.cpp index 3e3db5b224..f7cc239997 100644 --- a/engines/mortevielle/actions.cpp +++ b/engines/mortevielle/actions.cpp @@ -1147,6 +1147,10 @@ void MortevielleEngine::fctEnter() { int randVal = (getRandomNumber(0, 10)) - 5; _soundManager.startSpeech(7, randVal, 1); displayAnimFrame(1, 1); + while (_mixer->isSoundHandleActive(_soundManager._soundHandle) && !keyPressed() && !_mouseClick && !shouldQuit()) + ; + // In case the handle is still active, stop it. + _mixer->stopHandle(_soundManager._soundHandle); int charIndex = convertBitIndexToCharacterIndex(z); ++_coreVar._faithScore; @@ -1168,6 +1172,10 @@ void MortevielleEngine::fctEnter() { int randVal = (getRandomNumber(0, 10)) - 5; _soundManager.startSpeech(7, randVal, 1); displayAnimFrame(1, 1); + while (_mixer->isSoundHandleActive(_soundManager._soundHandle) && !keyPressed() && !_mouseClick && !shouldQuit()) + ; + // In case the handle is still active, stop it. + _mixer->stopHandle(_soundManager._soundHandle); _coreVar._currPlace = _roomDoorId; prepareDisplayText(); |