diff --git a/crates/recent_projects/src/recent_projects.rs b/crates/recent_projects/src/recent_projects.rs index f613ba4df2132fe8114f12045d03ccb9ef81cb72..e73d0b4fb51a5d4f94391fc15ed4f4ed23699ca7 100644 --- a/crates/recent_projects/src/recent_projects.rs +++ b/crates/recent_projects/src/recent_projects.rs @@ -165,12 +165,13 @@ impl PickerDelegate for RecentProjectsView { } fn confirm(&mut self, cx: &mut ViewContext) { - let selected_match = &self.matches[self.selected_index()]; - let workspace_location = &self.workspace_locations[selected_match.candidate_id]; - cx.dispatch_global_action(OpenPaths { - paths: workspace_location.paths().as_ref().clone(), - }); - cx.emit(Event::Dismissed); + if let Some(selected_match) = &self.matches.get(self.selected_index()) { + let workspace_location = &self.workspace_locations[selected_match.candidate_id]; + cx.dispatch_global_action(OpenPaths { + paths: workspace_location.paths().as_ref().clone(), + }); + cx.emit(Event::Dismissed); + } } fn dismiss(&mut self, cx: &mut ViewContext) { diff --git a/crates/workspace/src/workspace.rs b/crates/workspace/src/workspace.rs index 609afded3325b97b8356c85b9b6955622a27e289..a7c80485f6f45cdd78c0b1eb737d776b963725a5 100644 --- a/crates/workspace/src/workspace.rs +++ b/crates/workspace/src/workspace.rs @@ -754,7 +754,7 @@ impl Workspace { cx.defer(move |_, cx| { Self::load_from_serialized_workspace(weak_handle, serialized_workspace, cx) }); - } else { + } else if project.read(cx).is_local() { if cx.global::().default_dock_anchor != DockAnchor::Expanded { Dock::show(&mut this, false, cx); }