[Scummvm-cvs-logs] SF.net SVN: scummvm: [30082] scummvm/branches/branch-0-11-0/engines/scumm/ imuse_digi
fingolfin at users.sourceforge.net
fingolfin at users.sourceforge.net
Sun Dec 30 17:32:57 CET 2007
Revision: 30082
http://scummvm.svn.sourceforge.net/scummvm/?rev=30082&view=rev
Author: fingolfin
Date: 2007-12-30 08:32:57 -0800 (Sun, 30 Dec 2007)
Log Message:
-----------
Backport to 0.11.0 branch: Fix for bug #1635361
Modified Paths:
--------------
scummvm/branches/branch-0-11-0/engines/scumm/imuse_digi/dimuse.h
scummvm/branches/branch-0-11-0/engines/scumm/imuse_digi/dimuse_track.cpp
Modified: scummvm/branches/branch-0-11-0/engines/scumm/imuse_digi/dimuse.h
===================================================================
--- scummvm/branches/branch-0-11-0/engines/scumm/imuse_digi/dimuse.h 2007-12-30 16:32:30 UTC (rev 30081)
+++ scummvm/branches/branch-0-11-0/engines/scumm/imuse_digi/dimuse.h 2007-12-30 16:32:57 UTC (rev 30082)
@@ -137,7 +137,7 @@
int getSoundIdByName(const char *soundName);
void fadeOutMusic(int fadeDelay);
- Track *cloneToFadeOutTrack(const Track *track, int fadeDelay);
+ Track *cloneToFadeOutTrack(Track *track, int fadeDelay);
void setFtMusicState(int stateId);
void setFtMusicSequence(int seqId);
Modified: scummvm/branches/branch-0-11-0/engines/scumm/imuse_digi/dimuse_track.cpp
===================================================================
--- scummvm/branches/branch-0-11-0/engines/scumm/imuse_digi/dimuse_track.cpp 2007-12-30 16:32:30 UTC (rev 30081)
+++ scummvm/branches/branch-0-11-0/engines/scumm/imuse_digi/dimuse_track.cpp 2007-12-30 16:32:57 UTC (rev 30082)
@@ -314,7 +314,7 @@
}
}
-IMuseDigital::Track *IMuseDigital::cloneToFadeOutTrack(const Track *track, int fadeDelay) {
+IMuseDigital::Track *IMuseDigital::cloneToFadeOutTrack(Track *track, int fadeDelay) {
assert(track);
Track *fadeTrack = 0;
@@ -330,12 +330,11 @@
// Clone the settings of the given track
memcpy(fadeTrack, track, sizeof(Track));
- // Clone the sound.
- // According to aquadran, this is only called for bundle files and sound
- // data in *.la1 from switchToNextRegion and fadeOutMusic func. Henc we
- // know that track->soundDesc != NULL.
- fadeTrack->soundDesc = _sound->cloneSound(track->soundDesc);
+ // Clone the sound. We use the original sound in the fadeTrack,
+ // and the cloned sound in the original track. This fixes bug #1635361.
assert(fadeTrack->soundDesc);
+ track->soundDesc = _sound->cloneSound(fadeTrack->soundDesc);
+ assert(track->soundDesc);
// Set the volume fading parameters to indicate a fade out
fadeTrack->volFadeDelay = fadeDelay;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list