[Scummvm-cvs-logs] CVS: scummvm/scumm/smush smush_player.cpp,1.146,1.147 smush_player.h,1.41,1.42

Max Horn fingolfin at users.sourceforge.net
Wed Mar 9 08:38:12 CET 2005


Update of /cvsroot/scummvm/scummvm/scumm/smush
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2025/smush

Modified Files:
	smush_player.cpp smush_player.h 
Log Message:
Fix one potential race condition between SMUSH and INSANE

Index: smush_player.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/smush_player.cpp,v
retrieving revision 1.146
retrieving revision 1.147
diff -u -d -r1.146 -r1.147
--- smush_player.cpp	28 Jan 2005 11:59:08 -0000	1.146
+++ smush_player.cpp	9 Mar 2005 16:37:44 -0000	1.147
@@ -1024,6 +1024,8 @@
 }
 
 void SmushPlayer::parseNextFrame() {
+	Common::StackLock lock(_mutex);
+
 	if (_vm->_smushPaused)
 		return;
 
@@ -1138,6 +1140,9 @@
 }
 
 void SmushPlayer::seekSan(const char *file, int32 pos, int32 contFrame) {
+
+	Common::StackLock lock(_mutex);
+
 	if(_smixer)
 		_smixer->stop();
 

Index: smush_player.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/smush_player.h,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -d -r1.41 -r1.42
--- smush_player.h	28 Jan 2005 11:59:08 -0000	1.41
+++ smush_player.h	9 Mar 2005 16:37:44 -0000	1.42
@@ -80,6 +80,8 @@
 	bool _inTimer;
 #endif
 
+	Common::Mutex _mutex;
+
 public:
 	SmushPlayer(ScummEngine_v6 *scumm, int speed);
 	~SmushPlayer();





More information about the Scummvm-git-logs mailing list