[Scummvm-devel] Re: [Scummvm-cvs-logs] CVS: scummvm/base main.cpp,1.48,1.49

Eugene Sandulenko sev at scummvm.org
Thu Nov 11 05:01:03 CET 2004


Resend as requested

James Brown writes:
> Update of /cvsroot/scummvm/scummvm/base
> In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24248/base
> 
> Modified Files:
> 	main.cpp 
> Log Message:
> Reenable persistant launcher, in order to encourage some debugging ;)
Ender, this didn't forced devs to do much work, but introduced some
very annoying features:

  o When 2x scaler is default, quitting 640x480 games makes ScummVM
    window to be 1280x960, respectively 3x scaler will make it more
    bigger. It even crashed my whole X session once. (640x480 games
    are comi, bs1/2 and numerous HE games).
  o When you specify unexistent target, you end up in an unbreakable
    endless loop, and have to kill ScummVM
  o There is no way to run any another game after first is exited. It
    also falls into an endless loop
  o Closing window brings you back to launcher instead of exiting
    the application
  o Sometimes exiting game leaves launcher window garbled with game
    graphics

So in short, simple wrapping in while(1) doesn't work at all.

May you, please, fix it or revert until better times when all above
problems will be addressed?


Eugene

---- Original patch follows -----------------------------------------
> 
> Index: main.cpp
> ===================================================================
> RCS file: /cvsroot/scummvm/scummvm/base/main.cpp,v
> retrieving revision 1.48
> retrieving revision 1.49
> diff -u -d -r1.48 -r1.49
> --- main.cpp	29 Aug 2004 19:08:08 -0000	1.48
> +++ main.cpp	10 Oct 2004 16:31:15 -0000	1.49
> @@ -375,10 +375,10 @@
>  	if (detector._targetName.isEmpty())
>  		launcherDialog(detector, system);
>  
> -	// Uncomment the while loop, and the launcherDialog call, to allow
> -	// returning to the Launcher after an engine quit. Disabled currently
> -	// as it probably leaks memory like a sieve.
> -	//while(1) {
> +	// 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) {
>  		// Verify the given game name is a valid supported game
>  		if (detector.detectMain()) {
>  			// Unload all plugins not needed for this game,
> @@ -389,9 +389,9 @@
>  
>  			// PluginManager::instance().unloadPlugins();
>  			// PluginManager::instance().loadPlugins();
> -                	 // launcherDialog(detector, system);
> +                	launcherDialog(detector, system);
>  		}
> -	//}
> +	}
>  
>  	// ...and quit (the return 0 should never be reached)
>  	delete g_timer;
> 
>




More information about the Scummvm-devel mailing list