sixel: erase: fix clearing of cell->attrs.clean

When erasing a sixel, the cells underneath it must be marked as
'dirty', in order to be re-rendered.

This was not being done correctly; the for loop loops *from* the start
col, meaning the *end* col is *not* sixel->pos.col, as that's
the *number* of columns, not the *end* column.
This commit is contained in:
Daniel Eklöf 2023-10-12 16:22:50 +02:00
parent c006ac3a07
commit 4aa67e464a
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

View file

@ -180,7 +180,7 @@ sixel_erase(struct terminal *term, struct sixel *sixel)
row->dirty = true;
for (int c = sixel->pos.col; c < min(sixel->cols, term->cols); c++)
for (int c = sixel->pos.col; c < min(sixel->pos.col + sixel->cols, term->cols); c++)
row->cells[c].attrs.clean = 0;
}