From bb2ee343b4f0af2ed2842746f4bbcd187f6dd290 Mon Sep 17 00:00:00 2001 From: Xiaobo Liu Date: Thu, 5 Feb 2026 03:08:24 +0800 Subject: [PATCH] project_search: Guard replace_next match lookup (#48327) Release Notes: - N/A Signed-off-by: Xiaobo Liu --- crates/search/src/project_search.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/crates/search/src/project_search.rs b/crates/search/src/project_search.rs index ddb7e987aaf56b8a1dbd11d8220107c84f972471..45b72ed27f3efe6272987755df74d7e1aaadf911 100644 --- a/crates/search/src/project_search.rs +++ b/crates/search/src/project_search.rs @@ -728,10 +728,11 @@ impl ProjectSearchView { if let Some(query) = query { let query = query.with_replacement(self.replacement(cx)); - // TODO: Do we need the clone here? - let mat = self.entity.read(cx).match_ranges[active_index].clone(); + let mat = self.entity.read(cx).match_ranges.get(active_index).cloned(); self.results_editor.update(cx, |editor, cx| { - editor.replace(&mat, &query, window, cx); + if let Some(mat) = mat.as_ref() { + editor.replace(mat, &query, window, cx); + } }); self.select_match(Direction::Next, window, cx) }