Checkpoint

Antonio Scandurra created

Change summary

crates/gpui3/src/window.rs             | 4 ++--
crates/storybook2/src/stories/focus.rs | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)

Detailed changes

crates/gpui3/src/window.rs 🔗

@@ -945,7 +945,7 @@ impl<'a, 'w> WindowContext<'a, 'w> {
     }
 
     fn dispatch_action(&mut self, action: Box<dyn Action>, listeners: &[(TypeId, AnyKeyListener)]) {
-        let action_type = action.type_id();
+        let action_type = action.as_any().type_id();
         for (event_type, listener) in listeners {
             if action_type == *event_type {
                 listener(action.as_any(), DispatchPhase::Capture, self);
@@ -958,7 +958,7 @@ impl<'a, 'w> WindowContext<'a, 'w> {
         if self.window.propagate {
             for (event_type, listener) in listeners.iter().rev() {
                 if action_type == *event_type {
-                    listener(action.as_any(), DispatchPhase::Capture, self);
+                    listener(action.as_any(), DispatchPhase::Bubble, self);
                     if !self.window.propagate {
                         break;
                     }

crates/storybook2/src/stories/focus.rs 🔗

@@ -69,7 +69,7 @@ impl FocusStory {
                     println!("Action A dispatched on parent during {:?}", phase);
                 })
                 .on_action(|_, action: &ActionB, phase, cx| {
-                    println!("Action A dispatched on parent during {:?}", phase);
+                    println!("Action B dispatched on parent during {:?}", phase);
                 })
                 .focusable(&parent)
                 .on_focus(|_, _, _| println!("Parent focused"))