Qt6 wasn't exiting as expected after saving the game

Reported by email to devteam on Feb 1, 2025.
This commit is contained in:
nhmall
2025-08-17 01:33:24 -04:00
parent 16716c2d3a
commit 070730d845
3 changed files with 6 additions and 0 deletions

View File

@@ -801,6 +801,7 @@ struct sinfo {
int in_sanity_check; /* for impossible() during sanity checking */
int config_error_ready; /* config_error_add is ready, available */
int beyond_savefile_load; /* set when past savefile loading */
int savefile_completed; /* savefile has completed writing */
#ifdef PANICLOG
int in_paniclog; /* writing a panicloc entry */
#endif

View File

@@ -54,6 +54,7 @@ dosave(void)
program_state.done_hup = 0;
#endif
if (dosave0()) {
program_state.savefile_completed++;
u.uhp = -1; /* universal game's over indicator */
if (soundprocs.sound_exit_nhsound)
(*soundprocs.sound_exit_nhsound)("dosave");

View File

@@ -724,6 +724,10 @@ char NetHackQtBind::qt_more()
int complain = 0;
do {
ch = NetHackQtBind::qt_nhgetch();
if (::program_state.savefile_completed) {
retry = false;
break;
}
switch (ch) {
case '\0': // hypothetical
ch = '\033';