diff options
-rw-r--r-- | Libraries/LibWeb/Layout/LayoutCheckBox.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Libraries/LibWeb/Layout/LayoutCheckBox.cpp b/Libraries/LibWeb/Layout/LayoutCheckBox.cpp index f1d76c3352..b63137b2b0 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<EventHandler>, 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<EventHandler>, const Gfx::IntPoint&, void LayoutCheckBox::handle_mouseup(Badge<EventHandler>, 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<EventHandler>, const Gfx::IntPoint& po void LayoutCheckBox::handle_mousemove(Badge<EventHandler>, 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); |