diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-06-08 23:17:21 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-06-08 23:17:21 +0300 |
commit | 5165d6293153fd622e11c2f9f991a8693b765ccb (patch) | |
tree | e1956798aded78986f93f28296f643600d0a20e4 /source | |
parent | 185782383996d4d2abcf23bdc97688be679b393e (diff) |
WM: correct recent change to click/drag detection
fb1915d87090a - caused click/drag events not to be detected.
Now check a key is a mouse or keyboard event.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 8693fd401a8..d517fb280d1 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -2274,7 +2274,9 @@ static int wm_handlers_do(bContext *C, wmEvent *event, ListBase *handlers) } } } - else if (!ELEM(event->type, EVENT_NONE) && !ISTIMER(event->type)) { + else if (ISMOUSE(event->type) || ISKEYBOARD(event->type)) { + /* All events that don't set wmEvent.prevtype must be ignored. */ + /* test for CLICK events */ if (wm_action_not_handled(action)) { wmWindow *win = CTX_wm_window(C); @@ -2284,11 +2286,8 @@ static int wm_handlers_do(bContext *C, wmEvent *event, ListBase *handlers) if (win != NULL) { if (event->val == KM_PRESS) { - /* Ensure the types match to prevent mouse wheel from triggering drag/clicks. */ - if (event->type == win->eventstate->prevtype) { - win->eventstate->check_click = true; - win->eventstate->check_drag = true; - } + win->eventstate->check_click = true; + win->eventstate->check_drag = true; } else if (event->val == KM_RELEASE) { win->eventstate->check_drag = false; |