1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 07:08:10 +00:00

LibGUI: Repaint buttons immediately on mouse up/down events

This ensures that rapidly clicking a button doesn't look like it's
"swallowing" some of the mouse events.

This already worked okay due to a hack in Window, but this will allow us
to get rid of that hack.
This commit is contained in:
Andreas Kling 2021-10-23 17:54:59 +02:00
parent 24651f854c
commit d196fbce5b

View file

@ -116,7 +116,7 @@ void AbstractButton::mousedown_event(MouseEvent& event)
{
if (event.button() == MouseButton::Left) {
m_being_pressed = true;
update();
repaint();
if (m_auto_repeat_interval) {
click();
@ -134,7 +134,7 @@ void AbstractButton::mouseup_event(MouseEvent& event)
m_auto_repeat_timer->stop();
bool was_being_pressed = m_being_pressed;
m_being_pressed = false;
update();
repaint();
if (was_being_pressed && !was_auto_repeating)
click(event.modifiers());
}