0
0
mirror of https://github.com/vim/vim.git synced 2025-09-27 04:14:06 -04:00

patch 8.2.2860: adding a text property causes the whole window to be redawn

Problem:    Adding a text property causes the whole window to be redawn.
Solution:   Use changed_lines_buf() to only redraw the affected lines.
This commit is contained in:
Bram Moolenaar
2021-05-16 20:18:57 +02:00
parent dcfc311198
commit 1764faa386
4 changed files with 6 additions and 2 deletions

View File

@@ -758,7 +758,7 @@ deleted_lines_mark(linenr_T lnum, long count)
/*
* Marks the area to be redrawn after a change.
*/
static void
void
changed_lines_buf(
buf_T *buf,
linenr_T lnum, // first line with change

View File

@@ -14,6 +14,7 @@ void appended_lines(linenr_T lnum, long count);
void appended_lines_mark(linenr_T lnum, long count);
void deleted_lines(linenr_T lnum, long count);
void deleted_lines_mark(linenr_T lnum, long count);
void changed_lines_buf(buf_T *buf, linenr_T lnum, linenr_T lnume, long xtra);
void changed_lines(linenr_T lnum, colnr_T col, linenr_T lnume, long xtra);
void unchanged(buf_T *buf, int ff, int always_inc_changedtick);
void save_file_ff(buf_T *buf);

View File

@@ -345,7 +345,8 @@ prop_add_common(
}
buf->b_has_textprop = TRUE; // this is never reset
redraw_buf_later(buf, NOT_VALID);
changed_lines_buf(buf, start_lnum, end_lnum + 1, 0);
redraw_buf_later(buf, VALID);
}
/*

View File

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