aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/sound
diff options
context:
space:
mode:
authorPaul Gilbert2016-10-27 23:22:59 -0400
committerPaul Gilbert2016-10-27 23:22:59 -0400
commit831694699cc2c0ae00332162055fdff35940a99b (patch)
tree81e9b506c125b7e7b38b3e9e93d2d2f77ddee10c /engines/titanic/sound
parente12496bd0c2a15d4e7701422ca9fd860482dcb1f (diff)
downloadscummvm-rg350-831694699cc2c0ae00332162055fdff35940a99b.tar.gz
scummvm-rg350-831694699cc2c0ae00332162055fdff35940a99b.tar.bz2
scummvm-rg350-831694699cc2c0ae00332162055fdff35940a99b.zip
TITANIC: Fix interrupting playing sounds
Diffstat (limited to 'engines/titanic/sound')
-rw-r--r--engines/titanic/sound/qmixer.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/titanic/sound/qmixer.cpp b/engines/titanic/sound/qmixer.cpp
index 733164947e..f05f8c3ab9 100644
--- a/engines/titanic/sound/qmixer.cpp
+++ b/engines/titanic/sound/qmixer.cpp
@@ -60,7 +60,12 @@ void QMixer::qsWaveMixFreeWave(Audio::SoundHandle &handle) {
}
void QMixer::qsWaveMixFlushChannel(int iChannel, uint flags) {
- // Not currently implemented in ScummVM
+ Common::List<SoundEntry>::iterator i;
+ Common::List<SoundEntry> &sounds = _channels[iChannel]._sounds;
+ for (i = sounds.begin(); i != sounds.end(); ++i)
+ _mixer->stopHandle((*i)._soundHandle);
+
+ sounds.clear();
}
void QMixer::qsWaveMixSetPanRate(int iChannel, uint flags, uint rate) {