diff --git a/Userland/Libraries/LibWeb/Page/EventHandler.cpp b/Userland/Libraries/LibWeb/Page/EventHandler.cpp index db9bb5080c..57e25fb5be 100644 --- a/Userland/Libraries/LibWeb/Page/EventHandler.cpp +++ b/Userland/Libraries/LibWeb/Page/EventHandler.cpp @@ -163,16 +163,16 @@ bool EventHandler::handle_mousewheel(CSSPixelPoint position, unsigned button, un if (auto result = target_for_mouse_position(position); result.has_value()) paintable = result->paintable; - auto* containing_block = paintable->containing_block(); - while (containing_block) { - if (containing_block->is_user_scrollable()) { - const_cast(containing_block->paintable_box())->handle_mousewheel({}, position, buttons, modifiers, wheel_delta_x * scroll_step_size, wheel_delta_y * scroll_step_size); - break; - } - containing_block = containing_block->containing_block(); - } - if (paintable) { + auto* containing_block = paintable->containing_block(); + while (containing_block) { + if (containing_block->is_user_scrollable()) { + const_cast(containing_block->paintable_box())->handle_mousewheel({}, position, buttons, modifiers, wheel_delta_x * scroll_step_size, wheel_delta_y * scroll_step_size); + break; + } + containing_block = containing_block->containing_block(); + } + paintable->handle_mousewheel({}, position, buttons, modifiers, wheel_delta_x, wheel_delta_y); auto node = dom_node_for_event_dispatch(*paintable);