diff --git a/win/curses/cursmain.c b/win/curses/cursmain.c index 72979d5b2..40c20ae3c 100644 --- a/win/curses/cursmain.c +++ b/win/curses/cursmain.c @@ -855,7 +855,11 @@ curses_raw_print(const char *str) #ifdef PDCURSES /* WINDOW *win = curses_get_nhwin(MESSAGE_WIN); */ - curses_message_win_puts(str, FALSE); + if (iflags.window_inited) { + curses_message_win_puts(str, FALSE); + } else { + puts(str); + } #else puts(str); #endif diff --git a/win/curses/curswins.c b/win/curses/curswins.c index 1d19427a9..8491a1e35 100644 --- a/win/curses/curswins.c +++ b/win/curses/curswins.c @@ -176,12 +176,18 @@ curses_refresh_nethack_windows(void) touchwin(stdscr); refresh(); } else { - touchwin(status_window); - wnoutrefresh(status_window); - touchwin(map_window); - wnoutrefresh(map_window); - touchwin(message_window); - wnoutrefresh(message_window); + if (status_window != NULL) { + touchwin(status_window); + wnoutrefresh(status_window); + } + if (map_window != NULL) { + touchwin(map_window); + wnoutrefresh(map_window); + } + if (message_window != NULL) { + touchwin(message_window); + wnoutrefresh(message_window); + } if (inv_window) { touchwin(inv_window); wnoutrefresh(inv_window);