[Scummvm-cvs-logs] CVS: scummvm/sky control.cpp,1.24,1.25 sky.cpp,1.78,1.79 sky.h,1.38,1.39

Robert G?ffringmann lavosspawn at users.sourceforge.net
Sun Jul 6 14:34:06 CEST 2003


Update of /cvsroot/scummvm/scummvm/sky
In directory sc8-pr-cvs1:/tmp/cvs-serv5940/sky

Modified Files:
	control.cpp sky.cpp sky.h 
Log Message:
fix bug #766744 (BASS: Crash when quitting while quitting)

Index: control.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/control.cpp,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- control.cpp	5 Jul 2003 16:40:12 -0000	1.24
+++ control.cpp	6 Jul 2003 21:33:22 -0000	1.25
@@ -1450,9 +1450,8 @@
 					break;
 
 				case OSystem::EVENT_QUIT:
-					showGameQuitMsg(false);
-					delay(1500);
-					_system->quit();
+					if (!SkyState::_systemVars.quitting)
+						showGameQuitMsg(false);
 					break;
 
 				default:
@@ -1472,6 +1471,7 @@
 
 void SkyControl::showGameQuitMsg(bool useScreen) {
 
+	SkyState::_systemVars.quitting = true;
 	uint8 *textBuf1 = (uint8*)malloc(GAME_SCREEN_WIDTH * 14 + sizeof(dataFileHeader));
 	uint8 *textBuf2 = (uint8*)malloc(GAME_SCREEN_WIDTH * 14 + sizeof(dataFileHeader));
 	uint8 textNum;

Index: sky.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/sky.cpp,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -d -r1.78 -r1.79
--- sky.cpp	5 Jul 2003 09:08:53 -0000	1.78
+++ sky.cpp	6 Jul 2003 21:33:22 -0000	1.79
@@ -71,7 +71,7 @@
 
 void **SkyState::_itemList[300];
 
-SystemVars SkyState::_systemVars = {0, 0, 0, 0, 4316, 0, false};
+SystemVars SkyState::_systemVars = {0, 0, 0, 0, 4316, 0, false, false };
 
 SkyState::SkyState(GameDetector *detector, OSystem *syst)
 	: Engine(detector, syst) {
@@ -332,7 +332,8 @@
 					break;
 
 				case OSystem::EVENT_QUIT:
-					_skyControl->showGameQuitMsg(); // will call _system->quit()
+					if (!SkyState::_systemVars.quitting)
+						_skyControl->showGameQuitMsg(); // will call _system->quit()
 					break;
 
 				default:

Index: sky.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/sky.h,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -d -r1.38 -r1.39
--- sky.h	5 Jul 2003 00:55:20 -0000	1.38
+++ sky.h	6 Jul 2003 21:33:22 -0000	1.39
@@ -48,6 +48,7 @@
 	uint32 currentPalette;
 	uint16 gameSpeed;
 	bool pastIntro;
+	bool quitting;
 };
 
 class SkyLogic;





More information about the Scummvm-git-logs mailing list