diff options
Diffstat (limited to 'source/blender/windowmanager/intern/wm_event_system.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index e707d096a60..c75feafe623 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -885,10 +885,22 @@ static int handler_boundbox_test(wmEventHandler *handler, wmEvent *event) if(handler->bblocal) { rcti rect= *handler->bblocal; BLI_translate_rcti(&rect, handler->bbwin->xmin, handler->bbwin->ymin); - return BLI_in_rcti(&rect, event->x, event->y); + + if(BLI_in_rcti(&rect, event->x, event->y)) + return 1; + else if(event->type==MOUSEMOVE && BLI_in_rcti(&rect, event->prevx, event->prevy)) + return 1; + else + return 0; + } + else { + if(BLI_in_rcti(handler->bbwin, event->x, event->y)) + return 1; + else if(event->type==MOUSEMOVE && BLI_in_rcti(handler->bbwin, event->prevx, event->prevy)) + return 1; + else + return 0; } - else - return BLI_in_rcti(handler->bbwin, event->x, event->y); } return 1; } |