diff --git a/Libraries/LibWeb/Layout/LayoutCheckBox.cpp b/Libraries/LibWeb/Layout/LayoutCheckBox.cpp index f1d76c3352b..b63137b2b03 100644 --- a/Libraries/LibWeb/Layout/LayoutCheckBox.cpp +++ b/Libraries/LibWeb/Layout/LayoutCheckBox.cpp @@ -65,7 +65,7 @@ void LayoutCheckBox::paint(PaintContext& context, PaintPhase phase) void LayoutCheckBox::handle_mousedown(Badge, const Gfx::IntPoint&, unsigned button, unsigned) { - if (button != GUI::MouseButton::Left) + if (button != GUI::MouseButton::Left || !node().enabled()) return; m_being_pressed = true; @@ -77,7 +77,7 @@ void LayoutCheckBox::handle_mousedown(Badge, const Gfx::IntPoint&, void LayoutCheckBox::handle_mouseup(Badge, const Gfx::IntPoint& position, unsigned button, unsigned) { - if (!m_tracking_mouse || button != GUI::MouseButton::Left) + if (!m_tracking_mouse || button != GUI::MouseButton::Left || !node().enabled()) return; // NOTE: Changing the checked state of the DOM node may run arbitrary JS, which could disappear this node. @@ -94,7 +94,7 @@ void LayoutCheckBox::handle_mouseup(Badge, const Gfx::IntPoint& po void LayoutCheckBox::handle_mousemove(Badge, const Gfx::IntPoint& position, unsigned, unsigned) { - if (!m_tracking_mouse) + if (!m_tracking_mouse || !node().enabled()) return; bool is_inside = enclosing_int_rect(absolute_rect()).contains(position);