selection: selection_on_rows(): typo: row_start -> row_end

This fixes an issue where selections in the scroll margins were not
detected correctly. This meant they weren’t canceled as they should
have been, which in turn caused a visual glitch where text appeared to
be selected, but were in fact not.
This commit is contained in:
Daniel Eklöf 2022-11-24 17:05:27 +01:00
parent 4d03b6c611
commit 0fc8b65a2b
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
3 changed files with 4 additions and 3 deletions

View file

@ -102,6 +102,7 @@
with a user-set line-height ([#1218][1218]).
* Scaling factor not being correctly applied when converting pt-or-px
config values (e.g. letter offsets, line height etc).
* Selection being stuck visually when `IL` and `DL`.`
[1173]: https://codeberg.org/dnkl/foot/issues/1173
[1190]: https://codeberg.org/dnkl/foot/issues/1190

4
csi.c
View file

@ -933,7 +933,7 @@ csi_dispatch(struct terminal *term, uint8_t final)
break;
}
case 'L': {
case 'L': { /* IL */
if (term->grid->cursor.point.row < term->scroll_region.start ||
term->grid->cursor.point.row >= term->scroll_region.end)
break;
@ -953,7 +953,7 @@ csi_dispatch(struct terminal *term, uint8_t final)
break;
}
case 'M': {
case 'M': { /* DL */
if (term->grid->cursor.point.row < term->scroll_region.start ||
term->grid->cursor.point.row >= term->scroll_region.end)
break;

View file

@ -86,7 +86,7 @@ selection_on_rows(const struct terminal *term, int row_start, int row_end)
const int rel_row_start =
grid_row_abs_to_sb_precalc_sb_start(grid, sb_start, row_start);
const int rel_row_end =
grid_row_abs_to_sb_precalc_sb_start(grid, sb_start, row_start);
grid_row_abs_to_sb_precalc_sb_start(grid, sb_start, row_end);
int rel_sel_start =
grid_row_abs_to_sb_precalc_sb_start(grid, sb_start, start->row);
int rel_sel_end =