1
0
forked from aniani/vim

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)
This commit is contained in:
Bram Moolenaar 2017-07-30 19:02:02 +02:00
parent 0e23e9c5e7
commit 12d93ee26d
2 changed files with 11 additions and 5 deletions

View File

@ -51,6 +51,9 @@
* job finishes). * job finishes).
* - add option values to the command: * - add option values to the command:
* :term <24x80> <close> vim notes.txt * :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. * - To set BS correctly, check get_stty(); Pass the fd of the pty.
* - do not store terminal window in viminfo. Or prefix term:// ? * - do not store terminal window in viminfo. Or prefix term:// ?
* - add a character in :ls output * - add a character in :ls output
@ -359,7 +362,7 @@ update_cursor(term_T *term, int redraw)
cursor_on(); cursor_on();
out_flush(); out_flush();
#ifdef FEAT_GUI #ifdef FEAT_GUI
if (gui.in_use && term->tl_cursor_visible) if (gui.in_use)
gui_update_cursor(FALSE, FALSE); gui_update_cursor(FALSE, FALSE);
#endif #endif
} }
@ -1034,7 +1037,7 @@ handle_movecursor(
if (term->tl_buffer == curbuf) if (term->tl_buffer == curbuf)
{ {
may_toggle_cursor(term); may_toggle_cursor(term);
update_cursor(term, TRUE); update_cursor(term, term->tl_cursor_visible);
} }
return 1; return 1;
@ -1180,11 +1183,12 @@ term_channel_closed(channel_T *ch)
/* Need to break out of vgetc(). */ /* Need to break out of vgetc(). */
ins_char_typebuf(K_IGNORE); 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(); maketitle();
update_cursor(curbuf->b_term, TRUE); update_cursor(term, term->tl_cursor_visible);
} }
} }
} }

View File

@ -769,6 +769,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
820,
/**/ /**/
819, 819,
/**/ /**/