mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-25 19:04:58 +00:00
LibWeb: Do not handle mouse events on disabled checkboxes
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user