[Bf-blender-cvs] [df4525d1d9d] master: Fix key repeat events resetting the click timer

Campbell Barton noreply at git.blender.org
Thu Jun 7 16:52:47 CEST 2018


Commit: df4525d1d9d5250b8d0bdc6370f2736c2607b044
Author: Campbell Barton
Date:   Thu Jun 7 16:51:03 2018 +0200
Branches: master
https://developer.blender.org/rBdf4525d1d9d5250b8d0bdc6370f2736c2607b044

Fix key repeat events resetting the click timer

===================================================================

M	source/blender/windowmanager/intern/wm_event_system.c

===================================================================

diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index 7c81f836bc1..83bad28ce02 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -3523,9 +3523,12 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U
 
 			/* double click test - only for press */
 			if (event.val == KM_PRESS) {
-				evt->prevclicktime = PIL_check_seconds_timer();
-				evt->prevclickx = event.x;
-				evt->prevclicky = event.y;
+				/* Don't reset timer & location when holding the key generates repeat events. */
+				if ((evt->prevtype != event.type) || (evt->prevval != KM_PRESS)) {
+					evt->prevclicktime = PIL_check_seconds_timer();
+					evt->prevclickx = event.x;
+					evt->prevclicky = event.y;
+				}
 			}
 
 			wm_event_add(win, &event);



More information about the Bf-blender-cvs mailing list