From a56f111f9807f9a7f35f8d3cd63fe66820ea922e Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 9 Mar 2023 10:09:08 +0530 Subject: [PATCH] Add a comment explaining why we rescan even when the line is not dirty --- kitty/screen.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kitty/screen.c b/kitty/screen.c index cb4791b11..490b334ef 100644 --- a/kitty/screen.c +++ b/kitty/screen.c @@ -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++) { lnum = self->scrolled_by - 1 - y; 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); if (self->historybuf->line->attrs.has_dirty_text) { render_line(fonts_data, self->historybuf->line, lnum, self->cursor, self->disable_ligatures);