aboutsummaryrefslogtreecommitdiff
path: root/scumm/imuse_digi
diff options
context:
space:
mode:
authorPaweł Kołodziejski2004-08-25 07:03:38 +0000
committerPaweł Kołodziejski2004-08-25 07:03:38 +0000
commit5b7f8b5e7894efe6fcc733f4de7685d05fad56a9 (patch)
treef0f9459e09edb63380f3f950f800bfb18a1c4342 /scumm/imuse_digi
parent4bdbd7969084e24bfb5f1c88d4802aa56582f91b (diff)
downloadscummvm-rg350-5b7f8b5e7894efe6fcc733f4de7685d05fad56a9.tar.gz
scummvm-rg350-5b7f8b5e7894efe6fcc733f4de7685d05fad56a9.tar.bz2
scummvm-rg350-5b7f8b5e7894efe6fcc733f4de7685d05fad56a9.zip
added comment for insane hack and not tested fix for deadlock bug imuse + debugger
svn-id: r14742
Diffstat (limited to 'scumm/imuse_digi')
-rw-r--r--scumm/imuse_digi/dimuse.cpp6
-rw-r--r--scumm/imuse_digi/dimuse_script.cpp3
2 files changed, 5 insertions, 4 deletions
diff --git a/scumm/imuse_digi/dimuse.cpp b/scumm/imuse_digi/dimuse.cpp
index 3b1ce2121c..4cdb08f1a7 100644
--- a/scumm/imuse_digi/dimuse.cpp
+++ b/scumm/imuse_digi/dimuse.cpp
@@ -156,9 +156,6 @@ void IMuseDigital::saveOrLoad(Serializer *ser) {
void IMuseDigital::callback() {
Common::StackLock lock(_mutex, "IMuseDigital::callback()");
- if (_pause || !_vm)
- return;
-
for (int l = 0; l < MAX_DIGITAL_TRACKS + MAX_DIGITAL_FADETRACKS; l++) {
Track *track = _track[l];
if (track->used && !track->readyToRemove) {
@@ -167,6 +164,9 @@ void IMuseDigital::callback() {
continue;
}
+ if (_pause || !_vm)
+ return;
+
if (track->volFadeUsed) {
if (track->volFadeStep < 0) {
if (track->vol > track->volFadeDest) {
diff --git a/scumm/imuse_digi/dimuse_script.cpp b/scumm/imuse_digi/dimuse_script.cpp
index 9f7c57c928..5c4574f025 100644
--- a/scumm/imuse_digi/dimuse_script.cpp
+++ b/scumm/imuse_digi/dimuse_script.cpp
@@ -163,7 +163,8 @@ void IMuseDigital::flushTracks() {
debug(5, "flushTracks()");
for (int l = 0; l < MAX_DIGITAL_TRACKS + MAX_DIGITAL_FADETRACKS; l++) {
Track *track = _track[l];
- if (track->used && (track->readyToRemove || (_vm->_insaneRunning && track->toBeRemoved))) {
+ if (track->used && (track->readyToRemove ||
+ (_vm->_insaneRunning && track->toBeRemoved)) { // INSANE hack for sync timer mode
if (track->stream) {
if (!track->stream->endOfStream()) {
track->stream->finish();