From b50f621e617c7181ac94a5150c9a2b6c59713d22 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 6 Jul 2018 10:55:03 +0530 Subject: [PATCH] DRYer --- kitty/mouse.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/kitty/mouse.c b/kitty/mouse.c index 17da688e5..eb2054649 100644 --- a/kitty/mouse.c +++ b/kitty/mouse.c @@ -350,10 +350,18 @@ HANDLER(handle_button_event) { } } +static inline int +currently_pressed_button() { + for (int i = 0; i < GLFW_MOUSE_BUTTON_5; i++) { + if (global_state.callback_os_window->mouse_button_pressed[i]) return i; + } + return -1; +} + HANDLER(handle_event) { switch(button) { case -1: - for (int i = 0; i < GLFW_MOUSE_BUTTON_5; i++) { if (global_state.callback_os_window->mouse_button_pressed[i]) { button = i; break; } } + button = currently_pressed_button(); handle_move_event(w, button, modifiers, window_idx); break; case GLFW_MOUSE_BUTTON_LEFT: @@ -429,7 +437,7 @@ mouse_event(int button, int modifiers) { if (button == -1 && global_state.active_drag_in_window) { // drag move w = window_for_id(global_state.active_drag_in_window); if (w) { - for (int i = 0; i < GLFW_MOUSE_BUTTON_5; i++) { if (global_state.callback_os_window->mouse_button_pressed[i]) { button = i; break; } } + button = currently_pressed_button(); if (button == GLFW_MOUSE_BUTTON_LEFT) { clamp_to_window = true; handle_move_event(w, button, modifiers, window_idx);