From 665ea6b1161921333dddc5cc6d821fa2cac1253c Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 16 Jan 2013 04:23:55 +0000 Subject: [PATCH] don't check for mouse-movement if the double click event isn't on a mouse-button. --- .../windowmanager/intern/wm_event_system.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 97abfb37fe9..d81aa74e138 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -2749,11 +2749,20 @@ static wmWindow *wm_event_cursor_other_windows(wmWindowManager *wm, wmWindow *wi static bool wm_event_is_double_click(wmEvent *event, wmEvent *event_state) { - return (((event->type == event_state->prevtype && event_state->prevval == KM_RELEASE && event->val == KM_PRESS)) && - ((ABS(event->x - event_state->prevclickx)) <= 2 && - (ABS(event->y - event_state->prevclicky)) <= 2 && - ((PIL_check_seconds_timer() - event_state->prevclicktime) * 1000 < U.dbl_click_time)) - ); + if ((event->type == event_state->prevtype) && + (event_state->prevval == KM_RELEASE) && + (event->val == KM_PRESS)) + { + if ((ISMOUSE(event->type) == false) || ((ABS(event->x - event_state->prevclickx)) <= 2 && + (ABS(event->y - event_state->prevclicky)) <= 2)) + { + if ((PIL_check_seconds_timer() - event_state->prevclicktime) * 1000 < U.dbl_click_time) { + return true; + } + } + } + + return false; } /* windows store own event queues, no bContext here */