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:
parent
0e23e9c5e7
commit
12d93ee26d
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user