aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/imuse_digi/dimuse_script.cpp3
-rw-r--r--scumm/imuse_digi/dimuse_track.cpp3
2 files changed, 6 insertions, 0 deletions
diff --git a/scumm/imuse_digi/dimuse_script.cpp b/scumm/imuse_digi/dimuse_script.cpp
index a66024ad4c..cc55827f99 100644
--- a/scumm/imuse_digi/dimuse_script.cpp
+++ b/scumm/imuse_digi/dimuse_script.cpp
@@ -381,6 +381,9 @@ void IMuseDigital::stopAllSounds() {
break;
flushTracks();
_vm->_system->delay_msecs(50);
+#ifdef _WIN32_WCE
+ _vm->parseEvents(); // timers are events, we need to consume them
+#endif
}
}
diff --git a/scumm/imuse_digi/dimuse_track.cpp b/scumm/imuse_digi/dimuse_track.cpp
index 0b24a894a3..d160a5efd4 100644
--- a/scumm/imuse_digi/dimuse_track.cpp
+++ b/scumm/imuse_digi/dimuse_track.cpp
@@ -82,6 +82,9 @@ void IMuseDigital::startSound(int soundId, const char *soundName, int soundType,
Track *track = _track[l];
for (;;) {
+#ifdef _WIN32_WCE
+ _vm->parseEvents(); // timers are events, we need to consume them
+#endif
flushTracks();
if (!track->used) {
track->pan = 64;