Add a comment explaining why we rescan even when the line is not dirty

This commit is contained in:
Kovid Goyal 2023-03-09 10:09:08 +05:30
parent 5058960a0e
commit a56f111f98
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -2371,6 +2371,8 @@ screen_update_cell_data(Screen *self, void *address, FONTS_DATA_HANDLE fonts_dat
for (index_type y = 0; y < MIN(self->lines, self->scrolled_by); y++) { for (index_type y = 0; y < MIN(self->lines, self->scrolled_by); y++) {
lnum = self->scrolled_by - 1 - y; lnum = self->scrolled_by - 1 - y;
historybuf_init_line(self->historybuf, lnum, self->historybuf->line); historybuf_init_line(self->historybuf, lnum, self->historybuf->line);
// we render line graphics even if the line is not dirty as graphics commands received after
// the unicode placeholder was first scanned can alter it.
screen_render_line_graphics(self, self->historybuf->line, y - self->scrolled_by); screen_render_line_graphics(self, self->historybuf->line, y - self->scrolled_by);
if (self->historybuf->line->attrs.has_dirty_text) { if (self->historybuf->line->attrs.has_dirty_text) {
render_line(fonts_data, self->historybuf->line, lnum, self->cursor, self->disable_ligatures); render_line(fonts_data, self->historybuf->line, lnum, self->cursor, self->disable_ligatures);