changeset 11792:4bc1f94afc34 v8.0.0778

patch 8.0.0778: in a terminal the cursor may be hidden commit https://github.com/vim/vim/commit/4cc93dc85a7aaf6bb1ccccc466f8d5fa523094e4 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Jul 26 21:49:37 2017 +0200 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)
author Christian Brabandt <cb@256bit.org>
date Wed, 26 Jul 2017 22:00:06 +0200
parents 40665c258263
children 393a5d6b794a
files src/terminal.c src/version.c
diffstat 2 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -321,13 +321,14 @@ term_write_job_output(term_T *term, char
     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
     }
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    778,
+/**/
     777,
 /**/
     776,