X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;ds=sidebyside;f=ncurses%2Fbase%2Flib_getch.c;h=f17b8336f35bed0214d353f927875a09f3669a5d;hb=11ca5f62994c7a14c4e500510bd242e1e721f8be;hp=56e2a3a874d1de3d1f3efc021493b19f7527c3f0;hpb=3ce60e9f58cc00309981ed711d0b0d3362105881;p=ncurses.git diff --git a/ncurses/base/lib_getch.c b/ncurses/base/lib_getch.c index 56e2a3a8..f17b8336 100644 --- a/ncurses/base/lib_getch.c +++ b/ncurses/base/lib_getch.c @@ -41,7 +41,7 @@ #include -MODULE_ID("$Id: lib_getch.c,v 1.96 2008/06/28 23:29:20 tom Exp $") +MODULE_ID("$Id: lib_getch.c,v 1.98 2008/08/16 21:20:48 Werner.Fink Exp $") #include @@ -260,7 +260,7 @@ recur_wrefresh(WINDOW *win) { #ifdef USE_PTHREADS SCREEN *sp = _nc_screen_of(win); - if (sp != SP) { + if (_nc_use_pthreads && sp != SP) { SCREEN *save_SP; /* temporarily switch to the window's screen to check/refresh */ @@ -284,23 +284,27 @@ recur_wgetnstr(WINDOW *win, char *buf) SCREEN *sp = _nc_screen_of(win); int rc; + if (sp != 0) { #ifdef USE_PTHREADS - if (sp != SP) { - SCREEN *save_SP; - - /* temporarily switch to the window's screen to get cooked input */ - _nc_lock_global(curses); - save_SP = SP; - _nc_set_screen(sp); - rc = recur_wgetnstr(win, buf); - _nc_set_screen(save_SP); - _nc_unlock_global(curses); - } else + if (_nc_use_pthreads && sp != SP) { + SCREEN *save_SP; + + /* temporarily switch to the window's screen to get cooked input */ + _nc_lock_global(curses); + save_SP = SP; + _nc_set_screen(sp); + rc = recur_wgetnstr(win, buf); + _nc_set_screen(save_SP); + _nc_unlock_global(curses); + } else #endif - { - sp->_called_wgetch = TRUE; - rc = wgetnstr(win, buf, MAXCOLUMNS); - sp->_called_wgetch = FALSE; + { + sp->_called_wgetch = TRUE; + rc = wgetnstr(win, buf, MAXCOLUMNS); + sp->_called_wgetch = FALSE; + } + } else { + rc = ERR; } return rc; }