Don't scroll List on scroll wheel events outside of its bounds (#3685)

Max Brunsfeld created

Change summary

crates/gpui2/src/elements/list.rs | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

Detailed changes

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

@@ -458,7 +458,10 @@ impl Element for List {
         let list_state = self.state.clone();
         let height = bounds.size.height;
         cx.on_mouse_event(move |event: &ScrollWheelEvent, phase, cx| {
-            if phase == DispatchPhase::Bubble {
+            if phase == DispatchPhase::Bubble
+                && bounds.contains(&event.position)
+                && cx.was_top_layer(&event.position, cx.stacking_order())
+            {
                 list_state.0.borrow_mut().scroll(
                     &scroll_top,
                     height,