From 4cc93dc85a7aaf6bb1ccccc466f8d5fa523094e4 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 26 Jul 2017 21:49:37 +0200 Subject: [PATCH] patch 8.0.0778: in a terminal the cursor may be hidden Problem: In a terminal the cursor may be hidden and screen updating lags behind. (Nazri Ramliy) Solution: Switch the cursor on and flush output when needed. (Ozaki Kiichi) --- src/terminal.c | 7 ++++--- src/version.c | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/terminal.c b/src/terminal.c index 4cc755c0c..e4e9cec33 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -321,13 +321,14 @@ term_write_job_output(term_T *term, char_u *msg, size_t len) static void update_cursor(term_T *term, int redraw) { - /* TODO: this should not always be needed */ setcursor(); - if (redraw && term->tl_buffer == curbuf && term->tl_cursor_visible) + if (redraw && term->tl_buffer == curbuf) { + if (term->tl_cursor_visible) + cursor_on(); out_flush(); #ifdef FEAT_GUI - if (gui.in_use) + if (gui.in_use && term->tl_cursor_visible) gui_update_cursor(FALSE, FALSE); #endif } diff --git a/src/version.c b/src/version.c index fe82a368e..051f75f5c 100644 --- a/src/version.c +++ b/src/version.c @@ -769,6 +769,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 778, /**/ 777, /**/ -- 2.50.1