diff options
author | Campbell Barton <ideasman42@gmail.com> | 2021-03-01 04:21:57 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2021-03-01 04:21:57 +0300 |
commit | 72d1545ec202c61d02c3024a61605b045d2c2640 (patch) | |
tree | dd0dfab06c5d72b568b757ffdbd165b28b10c1f3 /source/blender/windowmanager | |
parent | 1638af109e46522a1a24645289016922bb9ca977 (diff) |
Cleanup: minor change to click detection checks
Change order of checks for more convenient click-detection debugging.
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 41 |
1 files changed, 22 insertions, 19 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 5d015a48246..9188cac3ed7 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -2999,29 +2999,32 @@ static int wm_handlers_do(bContext *C, wmEvent *event, ListBase *handlers) if (win && win->eventstate->prevtype == event->type) { - if ((event->val == KM_RELEASE) && (win->eventstate->prevval == KM_PRESS) && - (win->eventstate->check_click == true)) { - if (WM_event_drag_test(event, &win->eventstate->prevclickx)) { - win->eventstate->check_click = 0; - win->eventstate->check_drag = 0; - } - else { - /* Position is where the actual click happens, for more - * accurate selecting in case the mouse drifts a little. */ - int x = event->x; - int y = event->y; + if (event->val == KM_RELEASE) { + if (win->eventstate->prevval == KM_PRESS) { + if (win->eventstate->check_click == true) { + if (WM_event_drag_test(event, &win->eventstate->prevclickx)) { + win->eventstate->check_click = 0; + win->eventstate->check_drag = 0; + } + else { + /* Position is where the actual click happens, for more + * accurate selecting in case the mouse drifts a little. */ + int x = event->x; + int y = event->y; - event->x = win->eventstate->prevclickx; - event->y = win->eventstate->prevclicky; - event->val = KM_CLICK; + event->x = event->prevclickx; + event->y = event->prevclicky; + event->val = KM_CLICK; - CLOG_INFO(WM_LOG_HANDLERS, 1, "handling CLICK"); + CLOG_INFO(WM_LOG_HANDLERS, 1, "handling CLICK"); - action |= wm_handlers_do_intern(C, event, handlers); + action |= wm_handlers_do_intern(C, event, handlers); - event->val = KM_RELEASE; - event->x = x; - event->y = y; + event->val = KM_RELEASE; + event->x = x; + event->y = y; + } + } } } else if (event->val == KM_DBL_CLICK) { |