[Scummvm-cvs-logs] CVS: scummvm/base main.cpp,1.51,1.52

James Brown ender at users.sourceforge.net
Thu Nov 11 06:02:01 CET 2004


Update of /cvsroot/scummvm/scummvm/base
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14069/base

Modified Files:
	main.cpp 
Log Message:
Prevent infinite loop by displaying the launcher after a game start FAILURE too.


Index: main.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/base/main.cpp,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- main.cpp	9 Nov 2004 10:37:28 -0000	1.51
+++ main.cpp	11 Nov 2004 14:01:09 -0000	1.52
@@ -233,7 +233,6 @@
 }
 
 static void runGame(GameDetector &detector, OSystem *system) {
-
 	// Set the window caption to the game name
 	Common::String caption(ConfMan.get("description", detector._targetName));
 
@@ -290,6 +289,7 @@
 extern "C" int scummvm_main(GameDetector &detector, int argc, char *argv[]) {
 #endif
 	char *cfgFilename = NULL, *s=argv[1];
+	bool running = true;
 
 #if defined(UNIX)
 	/* On Unix, do a quick endian / alignement check before starting */
@@ -386,7 +386,7 @@
 	// FIXME: We're now looping the launcher. This, of course, doesn't
 	// work as well as it should. In theory everything should be destroyed
 	// cleanly, so this is now enabled to encourage people to fix bits :)
-	while(1) {
+	while(running) {
 		// Verify the given game name is a valid supported game
 		if (detector.detectMain()) {
 			// Unload all plugins not needed for this game,
@@ -402,9 +402,10 @@
 			ConfMan.removeKey("save_slot", ConfMan.kTransientDomain);
 
 			// PluginManager::instance().unloadPlugins();
-			// PluginManager::instance().loadPlugins();
-                	launcherDialog(detector, system);
+			PluginManager::instance().loadPlugins();
 		}
+
+               	launcherDialog(detector, system);
 	}
 
 	// ...and quit (the return 0 should never be reached)





More information about the Scummvm-git-logs mailing list