Fix panicking unwrap()

Conrad Irwin created

Change summary

crates/command_palette2/src/command_palette.rs | 2 --
crates/gpui2/src/elements/div.rs               | 3 ---
crates/gpui2/src/elements/uniform_list.rs      | 6 +++++-
crates/gpui2/src/window.rs                     | 4 ----
4 files changed, 5 insertions(+), 10 deletions(-)

Detailed changes

crates/command_palette2/src/command_palette.rs 🔗

@@ -32,9 +32,7 @@ pub struct CommandPalette {
 
 impl CommandPalette {
     fn register(workspace: &mut Workspace, _: &mut ViewContext<Workspace>) {
-        dbg!("registering command palette toggle");
         workspace.register_action(|workspace, _: &Toggle, cx| {
-            dbg!("got cmd-shift-p");
             let Some(previous_focus_handle) = cx.focused() else {
                 return;
             };

crates/gpui2/src/elements/div.rs 🔗

@@ -1076,9 +1076,6 @@ where
                     })
                 }
 
-                if !self.key_context.is_empty() {
-                    dbg!(&self.key_context, self.action_listeners.len());
-                }
                 for (action_type, listener) in self.action_listeners.drain(..) {
                     cx.on_action(action_type, listener)
                 }

crates/gpui2/src/elements/uniform_list.rs 🔗

@@ -193,7 +193,11 @@ impl<V: 'static> Element<V> for UniformList<V> {
         };
 
         let mut interactivity = mem::take(&mut self.interactivity);
-        let shared_scroll_offset = element_state.interactive.scroll_offset.clone().unwrap();
+        let shared_scroll_offset = element_state
+            .interactive
+            .scroll_offset
+            .get_or_insert_with(Arc::default)
+            .clone();
 
         interactivity.paint(
             bounds,

crates/gpui2/src/window.rs 🔗

@@ -1309,7 +1309,6 @@ impl<'a> WindowContext<'a> {
             .current_frame
             .dispatch_tree
             .dispatch_path(node_id);
-        dbg!(node_id, &dispatch_path, self.propagate_event);
 
         // Capture phase
         for node_id in &dispatch_path {
@@ -1329,8 +1328,6 @@ impl<'a> WindowContext<'a> {
             }
         }
 
-        dbg!(node_id, &dispatch_path, self.propagate_event);
-
         // Bubble phase
         for node_id in dispatch_path.iter().rev() {
             let node = self.window.current_frame.dispatch_tree.node(*node_id);
@@ -1340,7 +1337,6 @@ impl<'a> WindowContext<'a> {
             } in node.action_listeners.clone()
             {
                 let any_action = action.as_any();
-                dbg!(action_type, any_action.type_id());
                 if action_type == any_action.type_id() {
                     self.propagate_event = false; // Actions stop propagation by default during the bubble phase
                     listener(any_action, DispatchPhase::Bubble, self);