Align dispatch_keystroke with other uses of ancestors iterator and filter out non-existant views

This commit is contained in:
Mikayla Maki 2023-03-17 10:56:44 -07:00
parent f7f9b8cffe
commit 578c69476d

View file

@ -1479,15 +1479,11 @@ impl MutableAppContext {
if let Some(focused_view_id) = self.focused_view_id(window_id) { if let Some(focused_view_id) = self.focused_view_id(window_id) {
let dispatch_path = self let dispatch_path = self
.ancestors(window_id, focused_view_id) .ancestors(window_id, focused_view_id)
.map(|view_id| { .filter_map(|view_id| {
( self.cx
view_id, .views
self.cx .get(&(window_id, view_id))
.views .map(|view| (view_id, view.keymap_context(self.as_ref())))
.get(&(window_id, view_id))
.unwrap()
.keymap_context(self.as_ref()),
)
}) })
.collect(); .collect();