diff options
author | Max Horn | 2008-01-06 00:09:05 +0000 |
---|---|---|
committer | Max Horn | 2008-01-06 00:09:05 +0000 |
commit | 1194495ad39ec8640f76c000825981952c44e6a8 (patch) | |
tree | d93e5fe95d8e05d3d5f241db9798453c99836f22 /engines/scumm/imuse_digi/dimuse.cpp | |
parent | e52591ac0ef9f7611f3ce9c2b8b3e975fb3a4d3e (diff) | |
download | scummvm-rg350-1194495ad39ec8640f76c000825981952c44e6a8.tar.gz scummvm-rg350-1194495ad39ec8640f76c000825981952c44e6a8.tar.bz2 scummvm-rg350-1194495ad39ec8640f76c000825981952c44e6a8.zip |
cleanup
svn-id: r30284
Diffstat (limited to 'engines/scumm/imuse_digi/dimuse.cpp')
-rw-r--r-- | engines/scumm/imuse_digi/dimuse.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/engines/scumm/imuse_digi/dimuse.cpp b/engines/scumm/imuse_digi/dimuse.cpp index 0e1752007b..93e7e831ed 100644 --- a/engines/scumm/imuse_digi/dimuse.cpp +++ b/engines/scumm/imuse_digi/dimuse.cpp @@ -219,8 +219,8 @@ void IMuseDigital::callback() { Track *track = _track[l]; if (track->used) { // Remove tracks if necessary - if (track->toBeRemoved) { - flushTrack(track); + if (!_mixer->isSoundHandleActive(track->mixChanHandle)) { + memset(track, 0, sizeof(Track)); continue; } @@ -260,7 +260,7 @@ void IMuseDigital::callback() { if (track->curRegion == -1) { switchToNextRegion(track); - if (track->toBeRemoved) + if (track->toBeRemoved || !track->used) continue; } @@ -328,7 +328,7 @@ void IMuseDigital::callback() { if (_sound->isEndOfRegion(track->soundDesc, track->curRegion)) { switchToNextRegion(track); - if (track->toBeRemoved) + if (track->toBeRemoved || !track->used) break; } feedSize -= curFeedSize; |