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:
@@ -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
|
||||||
|
@@ -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);
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -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,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user