From 12d93ee26d4290321ed0cc3d0493b966d1475a66 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 30 Jul 2017 19:02:02 +0200 Subject: patch 8.0.0820: GUI: cursor in terminal window lags behind Problem: GUI: cursor in terminal window lags behind. Solution: call gui_update_cursor() under different conditions. (Ozaki Kiichi, closes #1893) --- src/terminal.c | 14 +++++++++----- src/version.c | 2 ++ 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/terminal.c b/src/terminal.c index be76161e5..b289f6c99 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -51,6 +51,9 @@ * job finishes). * - add option values to the command: * :term <24x80> vim notes.txt + * - support different cursor shapes, colors and attributes + * - make term_getcursor() return type (none/block/bar/underline) and + * attributes (color, blink, etc.) * - To set BS correctly, check get_stty(); Pass the fd of the pty. * - do not store terminal window in viminfo. Or prefix term:// ? * - add a character in :ls output @@ -359,7 +362,7 @@ update_cursor(term_T *term, int redraw) cursor_on(); out_flush(); #ifdef FEAT_GUI - if (gui.in_use && term->tl_cursor_visible) + if (gui.in_use) gui_update_cursor(FALSE, FALSE); #endif } @@ -1034,7 +1037,7 @@ handle_movecursor( if (term->tl_buffer == curbuf) { may_toggle_cursor(term); - update_cursor(term, TRUE); + update_cursor(term, term->tl_cursor_visible); } return 1; @@ -1180,11 +1183,12 @@ term_channel_closed(channel_T *ch) /* Need to break out of vgetc(). */ ins_char_typebuf(K_IGNORE); - if (curbuf->b_term != NULL) + term = curbuf->b_term; + if (term != NULL) { - if (curbuf->b_term->tl_job == ch->ch_job) + if (term->tl_job == ch->ch_job) maketitle(); - update_cursor(curbuf->b_term, TRUE); + update_cursor(term, term->tl_cursor_visible); } } } diff --git a/src/version.c b/src/version.c index 2d4c50e0e..8733db28e 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 */ +/**/ + 820, /**/ 819, /**/ -- cgit v1.2.1