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 40bcfef5b9b43122deff564ebbbe7f8f4444cb19..0884cbdf5a118be6dd4a499cecc66ee92893c538 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 0fadb7b453f9c7907443642e79b8b3370a29bbd8..6815a1e2c95778da781e5a671d802489dbc4e593 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; }