term: cursor blink: dirty multi-cursor cells too

This commit is contained in:
Daniel Eklöf 2025-08-28 12:11:00 +02:00
parent dcabe14392
commit 7996267d7b
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

View file

@ -525,6 +525,24 @@ cursor_refresh(struct terminal *term)
term->grid->cur_row->cells[term->grid->cursor.point.col].attrs.clean = 0;
term->grid->cur_row->dirty = true;
if (unlikely(term->multi_cursor.shapes != NULL)) {
int rect_count = 0;
const pixman_box32_t *boxes = pixman_region32_rectangles(&term->multi_cursor.active, &rect_count);
for (int i = 0; i < rect_count; i++) {
const pixman_box32_t *box = &boxes[i];
for (int r = box->y1; r < box->y2; r++) {
struct row *row = term->grid->rows[r];
row->dirty = true;
for (int c = box->x1; c < box->x2; c++)
row->cells[c].attrs.clean = false;
}
}
}
render_refresh(term);
}