From 31f51a661c7e70fd11b6f230159d81e34b88be3b Mon Sep 17 00:00:00 2001 From: CismonX Date: Sun, 24 May 2026 06:47:49 +0800 Subject: [PATCH] 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. --- CHANGELOG.md | 2 ++ selection.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 464f096f..57286844 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/selection.c b/selection.c index bb0d3f1b..4a62369d 100644 --- a/selection.c +++ b/selection.c @@ -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;