diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-07-30 19:02:02 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-07-30 19:02:02 +0200 |
commit | 12d93ee26d4290321ed0cc3d0493b966d1475a66 (patch) | |
tree | a37b3662cb64c73ea619865a8977bc2b16d88963 | |
parent | 0e23e9c5e74dbf0e5eec710c41c9eaed35794682 (diff) |
patch 8.0.0820: GUI: cursor in terminal window lags behindv8.0.0820
Problem: GUI: cursor in terminal window lags behind.
Solution: call gui_update_cursor() under different conditions. (Ozaki
Kiichi, closes #1893)
-rw-r--r-- | src/terminal.c | 14 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 11 insertions, 5 deletions
diff --git a/src/terminal.c b/src/terminal.c index be76161e51..b289f6c994 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -51,6 +51,9 @@ * job finishes). * - add option values to the command: * :term <24x80> <close> 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 2d4c50e0ef..8733db28ed 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 */ /**/ + 820, +/**/ 819, /**/ 818, |