Don't scroll List on scroll wheel events outside of its bounds

This commit is contained in:
Max Brunsfeld 2023-12-15 13:38:49 -08:00
parent 8efc38d43a
commit 149a718d65

View file

@ -458,7 +458,10 @@ impl Element for List {
let list_state = self.state.clone(); let list_state = self.state.clone();
let height = bounds.size.height; let height = bounds.size.height;
cx.on_mouse_event(move |event: &ScrollWheelEvent, phase, cx| { 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( list_state.0.borrow_mut().scroll(
&scroll_top, &scroll_top,
height, height,