clear focus

Smit Barmase created

Change summary

crates/gpui/src/key_dispatch.rs | 1 +
crates/gpui/src/window.rs       | 4 ++++
2 files changed, 5 insertions(+)

Detailed changes

crates/gpui/src/key_dispatch.rs 🔗

@@ -570,6 +570,7 @@ impl DispatchTree {
     }
 
     pub fn focus_path(&self, focus_id: FocusId) -> SmallVec<[FocusId; 8]> {
+        println!("focus path requested for focus id: {:?}", focus_id);
         let mut focus_path: SmallVec<[FocusId; 8]> = SmallVec::new();
         let mut current_node_id = self.focusable_node_ids.get(&focus_id).copied();
         while let Some(node_id) = current_node_id {

crates/gpui/src/window.rs 🔗

@@ -705,6 +705,7 @@ impl Frame {
         self.window_control_hitboxes.clear();
         self.deferred_draws.clear();
         self.focus = None;
+        println!("clearing focus 1");
 
         #[cfg(any(feature = "inspector", debug_assertions))]
         {
@@ -751,6 +752,8 @@ impl Frame {
     }
 
     pub(crate) fn focus_path(&self) -> SmallVec<[FocusId; 8]> {
+        dbg!("focus path");
+        dbg!(self.focus.is_some());
         self.focus
             .map(|focus_id| self.dispatch_tree.focus_path(focus_id))
             .unwrap_or_default()
@@ -1286,6 +1289,7 @@ impl Window {
         }
 
         self.focus = None;
+        println!("clearing focus 2");
         self.refresh();
     }