- 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 != CURRENT_SCREEN) {
+ SCREEN *save_SP;
+
+ /* temporarily switch to the window's screen to get cooked input */
+ _nc_lock_global(curses);
+ save_SP = CURRENT_SCREEN;
+ _nc_set_screen(sp);
+ rc = recur_wgetnstr(win, buf);
+ _nc_set_screen(save_SP);
+ _nc_unlock_global(curses);
+ } else