From 89b531ac451f83c8c446d60304f0394a11a481b3 Mon Sep 17 00:00:00 2001 From: Marc-André Lureau Date: Fri, 7 Oct 2016 15:26:49 +0400 Subject: spicy: fix reset of terminal when quit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Only restore the terminal if it was actually saved. Signed-off-by: Marc-André Lureau Acked-by: Victor Toso --- src/spicy.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/spicy.c b/src/spicy.c index 92de251..c502428 100644 --- a/src/spicy.c +++ b/src/spicy.c @@ -1818,14 +1818,18 @@ static void setup_terminal(gboolean reset) return; #ifdef HAVE_TERMIOS_H - static struct termios saved_tios; struct termios tios; + static struct termios saved_tios; + static bool saved = false; - if (reset) + if (reset) { + if (!saved) + return; tios = saved_tios; - else { + } else { tcgetattr(stdinfd, &tios); saved_tios = tios; + saved = true; tios.c_lflag &= ~(ICANON | ECHO); } -- cgit v1.2.3