diff --git a/crates/gpui2/src/elements/list.rs b/crates/gpui2/src/elements/list.rs index 415a3b7368..73bd319afc 100644 --- a/crates/gpui2/src/elements/list.rs +++ b/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,