summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-07-26 21:49:37 +0200
committerBram Moolenaar <Bram@vim.org>2017-07-26 21:49:37 +0200
commit4cc93dc85a7aaf6bb1ccccc466f8d5fa523094e4 (patch)
treefce87651ab98aa9aeb45ca86f92a9082a6795739
parenta1b5b0928118b135f9917679c0da28175c845140 (diff)
downloadvim-git-4cc93dc85a7aaf6bb1ccccc466f8d5fa523094e4.tar.gz
patch 8.0.0778: in a terminal the cursor may be hiddenv8.0.0778
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)
-rw-r--r--src/terminal.c7
-rw-r--r--src/version.c2
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
@@ -770,6 +770,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 778,
+/**/
777,
/**/
776,