tty: msg_window display anomaly
If you interrupt nethack (^C) in tty windowport mode while a pompt is displayed and and msg_window=true, it can display the full message history at an unexpected time. Detect this and display only the topl, as expected.
This commit is contained in:
@@ -29,7 +29,7 @@ tty_doprev_message()
|
|||||||
winid prevmsg_win;
|
winid prevmsg_win;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (iflags.prevmsg_window) {
|
if (iflags.prevmsg_window && !ttyDisplay->inread) {
|
||||||
prevmsg_win = create_nhwindow(NHW_MENU);
|
prevmsg_win = create_nhwindow(NHW_MENU);
|
||||||
putstr(prevmsg_win, 0, "Message History");
|
putstr(prevmsg_win, 0, "Message History");
|
||||||
putstr(prevmsg_win, 0, "");
|
putstr(prevmsg_win, 0, "");
|
||||||
|
|||||||
@@ -2222,8 +2222,7 @@ tty_wait_synch()
|
|||||||
/* this can only happen if we were reading and got interrupted */
|
/* this can only happen if we were reading and got interrupted */
|
||||||
ttyDisplay->toplin = 3;
|
ttyDisplay->toplin = 3;
|
||||||
/* do this twice; 1st time gets the Quit? message again */
|
/* do this twice; 1st time gets the Quit? message again */
|
||||||
if (!iflags.prevmsg_window)
|
(void) tty_doprev_message();
|
||||||
(void) tty_doprev_message();
|
|
||||||
(void) tty_doprev_message();
|
(void) tty_doprev_message();
|
||||||
ttyDisplay->intr++;
|
ttyDisplay->intr++;
|
||||||
(void) fflush(stdout);
|
(void) fflush(stdout);
|
||||||
|
|||||||
Reference in New Issue
Block a user