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. * Marks the area to be redrawn after a change.
*/ */
static void void
changed_lines_buf( changed_lines_buf(
buf_T *buf, buf_T *buf,
linenr_T lnum, // first line with change 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 appended_lines_mark(linenr_T lnum, long count);
void deleted_lines(linenr_T lnum, long count); void deleted_lines(linenr_T lnum, long count);
void deleted_lines_mark(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 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 unchanged(buf_T *buf, int ff, int always_inc_changedtick);
void save_file_ff(buf_T *buf); 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 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[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
2860,
/**/ /**/
2859, 2859,
/**/ /**/