Unix: command line --windowtype:foo fix
initoptions(), including initoptions_finish(), was running to completion with the default window system before windowtype from the command was parsed and activated. When the default window system is tty without MS-DOS the map type gets set to ascii; command line --windowtype:X11 doesn't switch it back to the X11 default of tiled. So, | NETHACKOPTIONS=windowtype:X11 nethack ran nethack in tiles mode but | nethack --windowtype:X11 ran it in text mode (assuming .nethackrc left tiles vs text with the default setting). I think this fix is quite iffy but it seems to work as intended.... It reclassifies '--windowtype' as an "early option" in unixmain.c, and the options.c code ultimately processes it twice.
This commit is contained in:
@@ -311,8 +311,7 @@ choose_windows(const char *s)
|
||||
if (tmps)
|
||||
free((genericptr_t) tmps) /*, tmps = 0*/ ;
|
||||
|
||||
if (windowprocs.win_raw_print == def_raw_print
|
||||
|| WINDOWPORT(safestartup))
|
||||
if (windowprocs.win_raw_print == def_raw_print || WINDOWPORT(safestartup))
|
||||
nh_terminate(EXIT_SUCCESS);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user