diff options
author | Campbell Barton <ideasman42@gmail.com> | 2020-06-01 09:27:23 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-06-01 09:27:23 +0300 |
commit | 9936e23b859d879078a5cb5aacd11fe71a5b2f5d (patch) | |
tree | 93de354f7e09c6dd0764726b1a01e49fc3ed0b2f /source/blender/editors | |
parent | 10966926ce13c47eb8a5bd8e77f0bc2b342ac7fe (diff) | |
parent | 520f08aa56fcea1111ac8a6660cb0b428164d508 (diff) |
Merge branch 'blender-v2.83-release'
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/mesh/editmesh_knife.c | 1 | ||||
-rw-r--r-- | source/blender/editors/mesh/editmesh_loopcut.c | 23 |
2 files changed, 16 insertions, 8 deletions
diff --git a/source/blender/editors/mesh/editmesh_knife.c b/source/blender/editors/mesh/editmesh_knife.c index f94cd778e13..5f5599b53df 100644 --- a/source/blender/editors/mesh/editmesh_knife.c +++ b/source/blender/editors/mesh/editmesh_knife.c @@ -2998,6 +2998,7 @@ static int knifetool_modal(bContext *C, wmOperator *op, const wmEvent *event) case MOUSEROTATE: case WHEELUPMOUSE: case WHEELDOWNMOUSE: + case NDOF_MOTION: return OPERATOR_PASS_THROUGH; case MOUSEMOVE: /* mouse moved somewhere to select another loop */ if (kcd->mode != MODE_PANNING) { diff --git a/source/blender/editors/mesh/editmesh_loopcut.c b/source/blender/editors/mesh/editmesh_loopcut.c index 3861676c2cf..0f52911c603 100644 --- a/source/blender/editors/mesh/editmesh_loopcut.c +++ b/source/blender/editors/mesh/editmesh_loopcut.c @@ -515,6 +515,10 @@ static int loopcut_finish(RingSelOpData *lcd, bContext *C, wmOperator *op) static int loopcut_modal(bContext *C, wmOperator *op, const wmEvent *event) { + if (event->type == NDOF_MOTION) { + return OPERATOR_PASS_THROUGH; + } + RingSelOpData *lcd = op->customdata; float cuts = lcd->cuts; float smoothness = lcd->smoothness; @@ -606,7 +610,8 @@ static int loopcut_modal(bContext *C, wmOperator *op, const wmEvent *event) } handled = true; break; - case MOUSEMOVE: /* mouse moved somewhere to select another loop */ + case MOUSEMOVE: { + /* mouse moved somewhere to select another loop */ /* This is normally disabled for all modal operators. * This is an exception since mouse movement doesn't relate to numeric input. @@ -615,14 +620,16 @@ static int loopcut_modal(bContext *C, wmOperator *op, const wmEvent *event) #if 0 if (!has_numinput) #endif - { - lcd->vc.mval[0] = event->mval[0]; - lcd->vc.mval[1] = event->mval[1]; - loopcut_mouse_move(lcd, (int)lcd->cuts); + { + lcd->vc.mval[0] = event->mval[0]; + lcd->vc.mval[1] = event->mval[1]; + loopcut_mouse_move(lcd, (int)lcd->cuts); - ED_region_tag_redraw(lcd->region); - handled = true; - } break; + ED_region_tag_redraw(lcd->region); + handled = true; + } + break; + } } /* Modal numinput inactive, try to handle numeric inputs last... */ |