diff --git a/crates/search/src/project_search.rs b/crates/search/src/project_search.rs index 52c9e189cfb7cb03b3c76ab34feadfd35bfe560c..31e00b9ea7e430789e09a78872c3144be0f2d10e 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); + 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_prompt_to_save = !skip_save_on_close && !will_autosave && is_dirty; - cx.spawn_in(window, async move |this, cx| { let should_search = if should_prompt_to_save { let options = &["Save", "Don't Save", "Cancel"]; let result_channel = this.update_in(cx, |_, window, cx| {