fix(redraw): make redrawdebug=nodelta handle all the cases

Before only win_line lines were considered. this applies nodelta
to all screen elements. Causes some failures, which might indeed
indicate excessive redraws.
This commit is contained in:
bfredl
2022-08-17 15:40:21 +02:00
parent 00cfc1dceb
commit 93b30582db
7 changed files with 43 additions and 21 deletions

View File

@@ -75,12 +75,11 @@ void decor_redraw(buf_T *buf, int row1, int row2, Decoration *decor)
}
if (decor && decor_virt_pos(*decor)) {
redraw_buf_line_later(buf, row1 + 1);
redraw_buf_line_later(buf, row1 + 1, false);
}
if (decor && kv_size(decor->virt_lines)) {
redraw_buf_line_later(buf, MIN(buf->b_ml.ml_line_count,
row1 + 1 + (decor->virt_lines_above?0:1)));
redraw_buf_line_later(buf, row1 + 1 + (decor->virt_lines_above?0:1), true);
}
}