From c5201e6de9dbf1fd8103c79b9c1b4f2639662427 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Mon, 9 Jun 2025 19:02:09 +0800 Subject: [PATCH] input: Revert #929 changed `replace_text_in_range` result an incorrect cursor pos. (#930) --- crates/ui/src/input/state.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/crates/ui/src/input/state.rs b/crates/ui/src/input/state.rs index 6ea666b7..8b6f739a 100644 --- a/crates/ui/src/input/state.rs +++ b/crates/ui/src/input/state.rs @@ -2096,8 +2096,7 @@ impl EntityInputHandler for InputState { let mask_text = self.mask_pattern.mask(&pending_text); let new_text_len = (new_text.len() + mask_text.len()).saturating_sub(pending_text.len()); - let old_offset = self.cursor_offset(); - let new_offset = (old_offset + new_text_len).min(mask_text.len()); + let new_offset = (range.start + new_text_len).min(mask_text.len()); self.push_history(&range, &new_text, window, cx); self.text = mask_text.clone();