You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.3 KiB
47 lines
1.3 KiB
13 years ago
|
https://bugs.gentoo.org/show_bug.cgi?id=327405
|
||
|
http://sourceforge.net/tracker/?func=detail&aid=2955373&group_id=245&atid=100245
|
||
|
|
||
|
diff -u -r1.19.2.5 check_funs.cpp
|
||
|
--- prog/check_funs.cpp 3 Mar 2010 05:16:24 -0000 1.19.2.5
|
||
|
+++ prog/check_funs.cpp 3 Mar 2010 05:34:52 -0000
|
||
|
@@ -327,7 +327,11 @@
|
||
|
wnoutrefresh(choice_w);
|
||
|
doupdate();
|
||
|
line.resize(0);
|
||
|
+#ifdef HAVE_WIDE_CURSES
|
||
|
+ wint_t c;
|
||
|
+#else
|
||
|
int c;
|
||
|
+#endif
|
||
|
noecho();
|
||
|
int begin_x;
|
||
|
{int junk; getyx(choice_w, junk, begin_x);}
|
||
|
@@ -336,13 +340,12 @@
|
||
|
while (true) {
|
||
|
handle_last_signal();
|
||
|
#ifdef HAVE_WIDE_CURSES
|
||
|
- wint_t wi = 0;
|
||
|
- int res = wget_wch(choice_w, &wi);
|
||
|
- c = wi;
|
||
|
+ int res = wget_wch(choice_w, &c);
|
||
|
+ if (res == ERR) continue;
|
||
|
#else
|
||
|
c = wgetch(choice_w);
|
||
|
-#endif
|
||
|
if (c == ERR) continue;
|
||
|
+#endif
|
||
|
if (c == '\r' || c == '\n' || c == KEY_ENTER)
|
||
|
break;
|
||
|
if (c == control('c') || c == KEY_BREAK) {
|
||
|
@@ -373,7 +376,9 @@
|
||
|
} else if (x < max_x && 32 <= c && c != '\x7F' && NOT_KEY /*c < 256*/) {
|
||
|
#ifdef HAVE_WIDE_CURSES
|
||
|
wchar_t wc = c;
|
||
|
- wins_nwstr(choice_w, &wc, 1);
|
||
|
+ cchar_t cc;
|
||
|
+ setcchar(&cc, &wc, 0, 0, NULL);
|
||
|
+ wins_wch(choice_w, &cc);
|
||
|
#else
|
||
|
winsch(choice_w, c);
|
||
|
#endif
|