summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch')
-rw-r--r--meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch66
1 files changed, 66 insertions, 0 deletions
diff --git a/meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch b/meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch
new file mode 100644
index 0000000000..c54d4d0eae
--- /dev/null
+++ b/meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch
@@ -0,0 +1,66 @@
1From 4d46a108629beb66a293672db7b44f863b6598ba Mon Sep 17 00:00:00 2001
2From: Thomas Dickey <dickey@his.com>
3Date: Fri, 14 Apr 2017 14:06:13 +0300
4Subject: [PATCH] Ticket #3697: (tty_init): unify curses initialization
5
6...for various curses implementations.
7
8Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
9
10Upstream-Status: Backport [https://github.com/MidnightCommander/mc.git]
11
12Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
13
14---
15 lib/tty/tty-ncurses.c | 26 +++++++++-----------------
16 1 file changed, 9 insertions(+), 17 deletions(-)
17
18diff --git a/lib/tty/tty-ncurses.c b/lib/tty/tty-ncurses.c
19index a7a11f3..8e69b39 100644
20--- a/lib/tty/tty-ncurses.c
21+++ b/lib/tty/tty-ncurses.c
22@@ -179,6 +179,8 @@ mc_tty_normalize_lines_char (const char *ch)
23 void
24 tty_init (gboolean mouse_enable, gboolean is_xterm)
25 {
26+ struct termios mode;
27+
28 initscr ();
29
30 #ifdef HAVE_ESCDELAY
31@@ -194,25 +196,15 @@ tty_init (gboolean mouse_enable, gboolean is_xterm)
32 ESCDELAY = 200;
33 #endif /* HAVE_ESCDELAY */
34
35-#ifdef NCURSES_VERSION
36+ tcgetattr (STDIN_FILENO, &mode);
37 /* use Ctrl-g to generate SIGINT */
38- cur_term->Nttyb.c_cc[VINTR] = CTRL ('g'); /* ^g */
39+ mode.c_cc[VINTR] = CTRL ('g'); /* ^g */
40 /* disable SIGQUIT to allow use Ctrl-\ key */
41- cur_term->Nttyb.c_cc[VQUIT] = NULL_VALUE;
42- tcsetattr (cur_term->Filedes, TCSANOW, &cur_term->Nttyb);
43-#else
44- /* other curses implementation (bsd curses, ...) */
45- {
46- struct termios mode;
47-
48- tcgetattr (STDIN_FILENO, &mode);
49- /* use Ctrl-g to generate SIGINT */
50- mode.c_cc[VINTR] = CTRL ('g'); /* ^g */
51- /* disable SIGQUIT to allow use Ctrl-\ key */
52- mode.c_cc[VQUIT] = NULL_VALUE;
53- tcsetattr (STDIN_FILENO, TCSANOW, &mode);
54- }
55-#endif /* NCURSES_VERSION */
56+ mode.c_cc[VQUIT] = NULL_VALUE;
57+ tcsetattr (STDIN_FILENO, TCSANOW, &mode);
58+
59+ /* curses remembers the "in-program" modes after this call */
60+ def_prog_mode ();
61
62 tty_start_interrupt_key ();
63
64--
652.7.4
66