From 9b0cc0a032f92c0edc09663fe16fcab2308b1a20 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Thu, 29 Apr 2021 15:03:46 -0700 Subject: [PATCH] Avoid cancelling ::open_entry task in FileFinder --- zed/src/file_finder.rs | 4 +++- zed/src/workspace/workspace_view.rs | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/zed/src/file_finder.rs b/zed/src/file_finder.rs index 40bcfef5b9..0884cbdf5a 100644 --- a/zed/src/file_finder.rs +++ b/zed/src/file_finder.rs @@ -275,7 +275,9 @@ impl FileFinder { ) { match event { Event::Selected(tree_id, path) => { - workspace_view.open_entry((*tree_id, path.clone()), ctx); + workspace_view + .open_entry((*tree_id, path.clone()), ctx) + .map(|d| d.detach()); workspace_view.dismiss_modal(ctx); } Event::Dismissed => { diff --git a/zed/src/workspace/workspace_view.rs b/zed/src/workspace/workspace_view.rs index 0fadb7b453..6815a1e2c9 100644 --- a/zed/src/workspace/workspace_view.rs +++ b/zed/src/workspace/workspace_view.rs @@ -3,7 +3,8 @@ use crate::{settings::Settings, watch}; use futures_core::{future::LocalBoxFuture, Future}; use gpui::{ color::rgbu, elements::*, json::to_string_pretty, keymap::Binding, AnyViewHandle, AppContext, - ClipboardItem, Entity, ModelHandle, MutableAppContext, View, ViewContext, ViewHandle, + ClipboardItem, Entity, EntityTask, ModelHandle, MutableAppContext, View, ViewContext, + ViewHandle, }; use log::error; use std::{ @@ -223,11 +224,12 @@ impl WorkspaceView { } } + #[must_use] pub fn open_entry( &mut self, entry: (usize, Arc), ctx: &mut ViewContext, - ) -> Option> { + ) -> Option> { if self.loading_entries.contains(&entry) { return None; }