From 0c035193932247c6dd4c596face55c91bdacc602 Mon Sep 17 00:00:00 2001 From: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com> Date: Wed, 21 May 2025 08:42:20 -0400 Subject: [PATCH] Fix project search panic (#31089) The panic occurred when querying a second search in the project search multibuffer while there were dirty buffers. The panic only happened in Nightly so there's no release notes Release Notes: - N/A --- crates/search/src/project_search.rs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/crates/search/src/project_search.rs b/crates/search/src/project_search.rs index 52c9e189cf..31e00b9ea7 100644 --- a/crates/search/src/project_search.rs +++ b/crates/search/src/project_search.rs @@ -1061,16 +1061,17 @@ impl ProjectSearchView { let is_dirty = self.is_dirty(cx); - let skip_save_on_close = self - .workspace - .read_with(cx, |workspace, cx| { - workspace::Pane::skip_save_on_close(&self.results_editor, workspace, cx) - }) - .unwrap_or(false); - - let should_prompt_to_save = !skip_save_on_close && !will_autosave && is_dirty; - cx.spawn_in(window, async move |this, cx| { + let skip_save_on_close = this + .read_with(cx, |this, cx| { + this.workspace.read_with(cx, |workspace, cx| { + workspace::Pane::skip_save_on_close(&this.results_editor, workspace, cx) + }) + })? + .unwrap_or(false); + + let should_prompt_to_save = !skip_save_on_close && !will_autosave && is_dirty; + let should_search = if should_prompt_to_save { let options = &["Save", "Don't Save", "Cancel"]; let result_channel = this.update_in(cx, |_, window, cx| {