[Scummvm-cvs-logs] SF.net SVN: scummvm:[33571] scummvm/branches/branch-0-12-0/engines/sky

eriktorbjorn at users.sourceforge.net eriktorbjorn at users.sourceforge.net
Sun Aug 3 12:17:35 CEST 2008


Revision: 33571
          http://scummvm.svn.sourceforge.net/scummvm/?rev=33571&view=rev
Author:   eriktorbjorn
Date:     2008-08-03 10:17:34 +0000 (Sun, 03 Aug 2008)

Log Message:
-----------
Backported fix for bug #1995033 ("BASS: BG Sound stopped on opening item list")

Modified Paths:
--------------
    scummvm/branches/branch-0-12-0/engines/sky/sound.cpp
    scummvm/branches/branch-0-12-0/engines/sky/sound.h

Modified: scummvm/branches/branch-0-12-0/engines/sky/sound.cpp
===================================================================
--- scummvm/branches/branch-0-12-0/engines/sky/sound.cpp	2008-08-03 10:16:17 UTC (rev 33570)
+++ scummvm/branches/branch-0-12-0/engines/sky/sound.cpp	2008-08-03 10:17:34 UTC (rev 33571)
@@ -1025,6 +1025,7 @@
 	_mixer = mixer;
 	_saveSounds[0] = _saveSounds[1] = 0xFFFF;
 	_mainSfxVolume = pVolume;
+	_isPaused = false;
 }
 
 Sound::~Sound(void) {
@@ -1254,14 +1255,20 @@
 
 void Sound::fnPauseFx(void) {
 
-	_mixer->pauseID(SOUND_CH0, true);
-	_mixer->pauseID(SOUND_CH1, true);
+	if (!_isPaused) {
+		_isPaused = true;
+		_mixer->pauseID(SOUND_CH0, true);
+		_mixer->pauseID(SOUND_CH1, true);
+	}
 }
 
 void Sound::fnUnPauseFx(void) {
 
-	_mixer->pauseID(SOUND_CH0, false);
-	_mixer->pauseID(SOUND_CH1, false);
+	if (_isPaused) {
+		_isPaused = false;
+		_mixer->pauseID(SOUND_CH0, false);
+		_mixer->pauseID(SOUND_CH1, false);
+	}
 }
 
 } // End of namespace Sky

Modified: scummvm/branches/branch-0-12-0/engines/sky/sound.h
===================================================================
--- scummvm/branches/branch-0-12-0/engines/sky/sound.h	2008-08-03 10:16:17 UTC (rev 33570)
+++ scummvm/branches/branch-0-12-0/engines/sky/sound.h	2008-08-03 10:17:34 UTC (rev 33571)
@@ -89,6 +89,8 @@
 	uint8 *_sampleRates, *_sfxInfo;
 	uint8 _mainSfxVolume;
 
+	bool _isPaused;
+
 	static uint16 _speechConvertTable[8];
 	static SfxQueue _sfxQueue[MAX_QUEUED_FX];
 };


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