diff --git a/doc/fixes3-7-0.txt b/doc/fixes3-7-0.txt index 83463ef36..29f5c765d 100644 --- a/doc/fixes3-7-0.txt +++ b/doc/fixes3-7-0.txt @@ -1539,6 +1539,9 @@ curses: typing ESC to cancel something issued a beep; if the terminal was set to 'visible bell', the screen flashed; only beep when the ESC is part of an escape sequence--other than M-c generating ESC c--and nethack is expecting text rather than a command or direction +curses: with window borders on and align_status:left, restoring brought up a + screen where the message window's border wasn't shown; once it needed + to be scrolled to fit a new message, the border appeared Qt: at Xp levels above 20 with 'showexp' On, the combined status field "Level:NN/nnnnnnnn" was too big and truncated by a char at each end Qt: searching a text window for something that wasn't found and then searching diff --git a/win/curses/cursmesg.c b/win/curses/cursmesg.c index 0873f9b8d..42f6825a3 100644 --- a/win/curses/cursmesg.c +++ b/win/curses/cursmesg.c @@ -984,6 +984,22 @@ curses_putmsghistory(const char *msg, boolean restoring_msghist) } initd = FALSE; /* reset */ } + + /* + * FIXME: + * restoring a game with window borders on and align_status:left + * (which pushes the starting column of the message window to the + * right) brings up an initial display where the border around + * the message window is missing. Once a new message causes it + * to be scrolled, its border appears. This absurd hack forces + * that to be shown right away. + */ + if (restoring_msghist && curses_window_has_border(WIN_MESSAGE)) { + WINDOW *win = curses_get_nhwin(WIN_MESSAGE); + + box(win, 0, 0); + wrefresh(win); + } } /*cursmesg.c*/