mirror of
https://github.com/neovim/neovim.git
synced 2025-10-05 09:26:30 +00:00
fix(extmarks): wrong display when changing text with virt_lines (#24879)
This commit is contained in:
@@ -319,7 +319,12 @@ static void changed_common(buf_T *buf, linenr_T lnum, colnr_T col, linenr_T lnum
|
||||
if (wp->w_lines[i].wl_lnum >= lnum) {
|
||||
// Do not change wl_lnum at index zero, it is used to
|
||||
// compare with w_topline. Invalidate it instead.
|
||||
if (wp->w_lines[i].wl_lnum < lnume || i == 0) {
|
||||
// If the buffer has virt_lines, invalidate the line
|
||||
// after the changed lines as the virt_lines for a
|
||||
// changed line may become invalid.
|
||||
if (i == 0 || wp->w_lines[i].wl_lnum < lnume
|
||||
|| (wp->w_lines[i].wl_lnum == lnume
|
||||
&& wp->w_buffer->b_virt_line_blocks > 0)) {
|
||||
// line included in change
|
||||
wp->w_lines[i].wl_valid = false;
|
||||
} else if (xtra != 0) {
|
||||
|
Reference in New Issue
Block a user