diff --git a/Userland/Services/WindowServer/Button.cpp b/Userland/Services/WindowServer/Button.cpp index 49ecb243ef..caf98dcefb 100644 --- a/Userland/Services/WindowServer/Button.cpp +++ b/Userland/Services/WindowServer/Button.cpp @@ -40,6 +40,25 @@ void Button::paint(Gfx::Painter& painter) void Button::on_mouse_event(const MouseEvent& event) { + auto interesting_button = false; + + switch (event.button()) { + case MouseButton::Left: + interesting_button = !!on_click; + break; + case MouseButton::Middle: + interesting_button = !!on_middle_click; + break; + case MouseButton::Right: + interesting_button = !!on_right_click; + break; + default: + break; + } + + if (!interesting_button) + return; + auto& wm = WindowManager::the(); if (event.type() == Event::MouseDown && (event.button() == MouseButton::Left || event.button() == MouseButton::Right || event.button() == MouseButton::Middle)) {