From ad031ec5d7974a961836b7e406ea57ea58fb9fc6 Mon Sep 17 00:00:00 2001 From: redoste Date: Sat, 12 Sep 2020 14:01:21 +0200 Subject: LibWeb: Do not handle mouse events on disabled checkboxes --- Libraries/LibWeb/Layout/LayoutCheckBox.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Libraries/LibWeb') 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, 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); -- cgit v1.2.3