]> granicus.if.org Git - vim/commitdiff
patch 8.0.0778: in a terminal the cursor may be hidden v8.0.0778
authorBram Moolenaar <Bram@vim.org>
Wed, 26 Jul 2017 19:49:37 +0000 (21:49 +0200)
committerBram Moolenaar <Bram@vim.org>
Wed, 26 Jul 2017 19:49:37 +0000 (21:49 +0200)
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
src/version.c

index 4cc755c0c357efe5d4d2faf9cad30365eb5e25e4..e4e9cec33ae537497be4e1cd1e1477647d7bfd9b 100644 (file)
@@ -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
     }
index fe82a368e46857af8315d574f25511c0f4507a24..051f75f5c319a06872fadb5d874bea6242e29251 100644 (file)
@@ -769,6 +769,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    778,
 /**/
     777,
 /**/