selection: fix block selection direction update

This patch fixes a condition check in selection_update(), so that
during block selection, the selection area no longer gets incorrectly
updated when selecting back across the starting column.
This commit is contained in:
CismonX 2026-05-24 06:47:49 +08:00
parent 4bf60d0fbc
commit 31f51a661c
No known key found for this signature in database
GPG key ID: 250FCE3001350BCA
2 changed files with 3 additions and 1 deletions

View file

@ -82,6 +82,8 @@
* DECCRA not clamping or verifying the destination rectangle
([#2352][2352]).
* Empty selection clearing the clipboard ([#2327][2327]).
* Block selection area incorrectly updated when selecting back
across the starting column.
[2353]: https://codeberg.org/dnkl/foot/issues/2353
[2352]: https://codeberg.org/dnkl/foot/issues/2352

View file

@ -1145,7 +1145,7 @@ selection_update(struct terminal *term, int col, int row)
struct coord *pivot_end = &term->selection.pivot.end;
if (term->selection.kind == SELECTION_BLOCK) {
if (new_end.col > pivot_start->col)
if (new_end.col >= pivot_start->col)
new_direction = SELECTION_RIGHT;
else
new_direction = SELECTION_LEFT;