mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-30 19:24:23 +01:00
Fix the restart-into-a-screen arguments, broken by the cmdline refactor
Centralizing command line parsing replaced the hand-rolled --gamesettings and --touchscreentest argv checks in NativeInit with a single --start-screen=<name> option, and made an unrecognized "--" argument a hard parse error. The two System_RestartApp callers still passed the old flags. So changing the graphics backend killed PPSSPP for good: the new process starts, fails to parse --gamesettings, and returns 1 from WinMain before a window ever exists. The error goes to stderr, which nobody sees in a GUI build, so it just looks like the app quit instead of restarting. Restarts that pass no arguments (the memstick screen, and the edit-then-restore path) were unaffected, since an empty argument string makes ExitAndRestart reuse the original command line. Also move the TouchTestScreen push inside the touchscreentest branch - it looks like a brace that didn't move during the refactor, and it would otherwise push a touch test screen for every --start-screen value.
This commit is contained in:
1 parent
68fd30bbba
commit
d789696405
3 files changed
+3
-3
No files matched your search
+1
-1
@@ -807,8 +807,8 @@ void NativeInit(int argc, const char *argv[], const CommandLineOptions &cmdLineO
|
||||
// Launch into specified start screen. This is useful for testing UI, more screens can be easily added here.
|
||||
if (equals(cmdLineOptions.startScreen.value(), "touchscreentest")) {
|
||||
g_screenManager->switchScreen(new MainScreen());
|
||||
g_screenManager->push(new TouchTestScreen(Path()));
|
||||
}
|
||||
g_screenManager->push(new TouchTestScreen(Path()));
|
||||
if (equals(cmdLineOptions.startScreen.value(), "gamesettings")) {
|
||||
g_screenManager->switchScreen(new LogoScreen(AfterLogoScreen::TO_GAME_SETTINGS));
|
||||
} else if (equals(cmdLineOptions.startScreen.value(), "developertools")) {
|
||||
|
||||
Reference in new issue
Block a user