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);