From b34f3763299299ad08b80ed474b302f0af49351a Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 1 May 2019 18:53:05 +0200 Subject: [PATCH] GButton: Update hovered state on mouseover as well. We can't rely exclusively on enter and leave events to update the hovered state, since leave will not be delivered while the widget is auto-tracking the mouse (between mousedown and mouseup.) --- LibGUI/GButton.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/LibGUI/GButton.cpp b/LibGUI/GButton.cpp index 48c77133d8..6c86bb530f 100644 --- a/LibGUI/GButton.cpp +++ b/LibGUI/GButton.cpp @@ -65,9 +65,11 @@ void GButton::paint_event(GPaintEvent& event) void GButton::mousemove_event(GMouseEvent& event) { + bool is_over = rect().contains(event.position()); + m_hovered = is_over; if (event.buttons() & GMouseButton::Left) { if (is_enabled()) { - bool being_pressed = rect().contains(event.position()); + bool being_pressed = is_over; if (being_pressed != m_being_pressed) { m_being_pressed = being_pressed; update();