$NetBSD: patch-ad,v 1.2 2005/12/19 19:39:44 joerg Exp $ --- main-gcu.c.orig Thu May 4 03:37:38 2000 +++ main-gcu.c Thu May 4 03:41:22 2000 @@ -458,6 +458,14 @@ static errr Term_xtra_gcu_alive(int v) /* Flush the curses buffer */ (void)refresh(); +#if defined(__NetBSD__) || defined(__DragonFly__) || defined(__FreeBSD__) + { + int cury, curx; + + getyx(curscr, cury, curx); + mvcur(cury, curx, LINES - 1, 0); + } +#else #ifdef SPECIAL_BSD /* this moves curses to bottom right corner */ mvcur(curscr->cury, curscr->curx, LINES - 1, 0); @@ -465,6 +473,7 @@ static errr Term_xtra_gcu_alive(int v) /* this moves curses to bottom right corner */ mvcur(curscr->_cury, curscr->_curx, LINES - 1, 0); #endif +#endif /* Exit curses */ endwin(); @@ -529,6 +538,14 @@ static void Term_nuke_gcu(term *t) /* Hack -- make sure the cursor is visible */ Term_xtra(TERM_XTRA_SHAPE, 1); +#if defined(__NetBSD__) || defined(__DragonFly__) || defined(__FreeBSD__) + { + int cury, curx; + + getyx(curscr, cury, curx); + mvcur(cury, curx, LINES - 1, 0); + } +#else #ifdef SPECIAL_BSD /* This moves curses to bottom right corner */ mvcur(curscr->cury, curscr->curx, LINES - 1, 0); @@ -536,6 +553,7 @@ static void Term_nuke_gcu(term *t) /* This moves curses to bottom right corner */ mvcur(curscr->_cury, curscr->_curx, LINES - 1, 0); #endif +#endif /* Flush the curses buffer */ (void)refresh();