diff --git a/crates/outline/src/outline.rs b/crates/outline/src/outline.rs index 8d215720a1f0ec82a2cac018d3d43c4c0a35e98e..ac74d6284f4fe2fe62bcad7be447b142255056b4 100644 --- a/crates/outline/src/outline.rs +++ b/crates/outline/src/outline.rs @@ -20,7 +20,7 @@ use settings::Settings; use theme::{ActiveTheme, ThemeSettings}; use ui::{ListItem, ListItemSpacing, prelude::*}; use util::ResultExt; -use workspace::{DismissDecision, ModalView}; +use workspace::{DismissDecision, ModalView, Workspace}; pub fn init(cx: &mut App) { cx.observe_new(OutlineView::register).detach(); @@ -48,7 +48,8 @@ pub fn toggle( .snapshot(cx) .outline(Some(cx.theme().syntax())); - if let Some((workspace, outline)) = editor.read(cx).workspace().zip(outline) { + let workspace = window.root::().flatten(); + if let Some((workspace, outline)) = workspace.zip(outline) { workspace.update(cx, |workspace, cx| { workspace.toggle_modal(window, cx, |window, cx| { OutlineView::new(outline, editor, window, cx)