aboutsummaryrefslogtreecommitdiff
path: root/scumm/imuse_digi/dimuse_track.cpp
diff options
context:
space:
mode:
authorNicolas Bacca2004-07-18 16:30:01 +0000
committerNicolas Bacca2004-07-18 16:30:01 +0000
commit74d898d1606ffc3fd9df4fec58efd02ef4a5dc6c (patch)
treedcf938dffc551bbd539d64fd99db77d6bdf12b86 /scumm/imuse_digi/dimuse_track.cpp
parent8a593e2e05114dae3120604f0d39bd62e99119f8 (diff)
downloadscummvm-rg350-74d898d1606ffc3fd9df4fec58efd02ef4a5dc6c.tar.gz
scummvm-rg350-74d898d1606ffc3fd9df4fec58efd02ef4a5dc6c.tar.bz2
scummvm-rg350-74d898d1606ffc3fd9df4fec58efd02ef4a5dc6c.zip
Fix Digital Imuse deadlocks for CE platforms. Other platforms using event-based timers may be interested in it, too
svn-id: r14248
Diffstat (limited to 'scumm/imuse_digi/dimuse_track.cpp')
-rw-r--r--scumm/imuse_digi/dimuse_track.cpp3
1 files changed, 3 insertions, 0 deletions
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;