From 074d71302006347c21bcb76a8b213b5ca1ef55bb Mon Sep 17 00:00:00 2001 From: macroexpansion Date: Tue, 28 Jul 2026 20:40:56 +0700 Subject: [PATCH] fix: reset cursor_x when clearing filter on Escape Hitting Escape did not reset cursor_x to 0, which made get_char_idx return a wrong index into the filter string and caused filter.remove(idx) to panic with "cannot remove a char from the end of a string" on backspace. --- src/select.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/select.rs b/src/select.rs index 01a1cd8..09545e7 100644 --- a/src/select.rs +++ b/src/select.rs @@ -282,6 +282,7 @@ impl<'a, T> Select<'a, T> { self.cur_page = 0; if !save { + self.cursor_x = 0; self.filter.clear(); self.pages = self.get_pages(); }