curses: message window border w/ align_status:left
This fixes the missing message window border when restoring with align_status:left (which narrows and forces that window to the right). It can't possibly be the correct way to fix things but does work. This was not a problem with 3.6.4 (the most recent pre-3.7 playground I have on hand) but I don't have the energy to use 'git bisect' to track done when it started to whether the cause is discernable. The message history is put into place without going through putstr() so differs from normal message handling.
This commit is contained in:
@@ -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*/
|
||||
|
||||
Reference in New Issue
Block a user