]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/tinfo/lib_options.c
ncurses 5.6 - patch 20080816
[ncurses.git] / ncurses / tinfo / lib_options.c
index ae6b2c5b745f707d2bf731ee98c4c309c18ab2b2..f3b1485bf11133947656e959d40c1eec4c655b74 100644 (file)
@@ -43,7 +43,7 @@
 
 #include <term.h>
 
-MODULE_ID("$Id: lib_options.c,v 1.55 2008/05/25 00:32:17 tom Exp $")
+MODULE_ID("$Id: lib_options.c,v 1.58 2008/08/16 21:20:48 Werner.Fink Exp $")
 
 static int _nc_curs_set(SCREEN *, int);
 static int _nc_meta(SCREEN *, bool);
@@ -245,16 +245,16 @@ _nc_keypad(SCREEN *sp, bool flag)
         * has wgetch() reading in more than one thread.  putp() and below
         * may use SP explicitly.
         */
-       if (sp != SP) {
+       if (_nc_use_pthreads && sp != SP) {
            SCREEN *save_sp;
 
            /* cannot use use_screen(), since that is not in tinfo library */
-           _nc_lock_global(use_screen);
+           _nc_lock_global(curses);
            save_sp = SP;
-           SP = sp;
+           _nc_set_screen(sp);
            rc = _nc_keypad(sp, flag);
-           SP = save_sp;
-           _nc_unlock_global(use_screen);
+           _nc_set_screen(save_sp);
+           _nc_unlock_global(curses);
        } else
 #endif
        {