render: multi-cursor: translate view-based row number to absolute

Otherwise we'll lookup the wrong multi-cursor shape.
This commit is contained in:
Daniel Eklöf 2025-08-31 09:23:05 +02:00
parent 7dbccefeea
commit cc02902db0
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

View file

@ -1348,8 +1348,14 @@ render_row(struct terminal *term, pixman_image_t *pix,
cursor_col == col, MULTI_CURSOR_SHAPE_NONE);
}
} else {
/* Translate view-relative row number to absolute numbers */
int multi_cursor_row = row_no;
multi_cursor_row += term->grid->view;
multi_cursor_row -= term->grid->offset;
multi_cursor_row &= term->grid->num_rows - 1;
enum multi_cursor_shape *extra_cursors =
&term->multi_cursor.shapes[row_no * term->cols + term->cols - 1];
&term->multi_cursor.shapes[multi_cursor_row * term->cols + term->cols - 1];
for (int col = term->cols - 1; col >= 0; col--, extra_cursors--) {
render_cell(term, pix, damage, row, row_no, col,