From 51f6b25afd8a99a62418b1c68d6177bc273b2136 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 21 Jun 2018 19:24:50 +0200 Subject: [PATCH 1/2] Revert "Fix T55568: second click event ignored" This reverts commit 52aa963f0ef1b6f4abba6653e9a441dee234127a. Fixed for keyboards, broke mouse buttons. --- source/blender/windowmanager/intern/wm_event_system.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 76e9b116321..c9a09f46a37 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -2329,13 +2329,6 @@ static int wm_handlers_do(bContext *C, wmEvent *event, ListBase *handlers) else if (event->val == KM_DBL_CLICK) { event->val = KM_PRESS; action |= wm_handlers_do_intern(C, event, handlers); - event->val = KM_RELEASE; - action |= wm_handlers_do_intern(C, event, handlers); - - if (wm_action_not_handled(action)) { - event->val = KM_CLICK; - action |= wm_handlers_do_intern(C, event, handlers); - } /* revert value if not handled */ if (wm_action_not_handled(action)) { From 68f4a4641e637463125977adfc7c58d2c683e33b Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 21 Jun 2018 19:26:21 +0200 Subject: [PATCH 2/2] Fix T55568: second click event ignored --- source/blender/windowmanager/intern/wm_event_system.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index c9a09f46a37..cd436899410 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -2327,6 +2327,7 @@ static int wm_handlers_do(bContext *C, wmEvent *event, ListBase *handlers) } } else if (event->val == KM_DBL_CLICK) { + /* The underlying event is a press, so try and handle this. */ event->val = KM_PRESS; action |= wm_handlers_do_intern(C, event, handlers); @@ -3569,7 +3570,7 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U /* if previous event was same type, and previous was release, and now it presses... */ if (wm_event_is_double_click(&event, evt)) { CLOG_INFO(WM_LOG_HANDLERS, 1, "Send double click"); - evt->val = event.val = KM_DBL_CLICK; + event.val = KM_DBL_CLICK; } /* this case happens on holding a key pressed, it should not generate