[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