diff options
author | Matt Ebb <matt@mke3.net> | 2010-01-16 03:59:59 +0300 |
---|---|---|
committer | Matt Ebb <matt@mke3.net> | 2010-01-16 03:59:59 +0300 |
commit | 61acdb61cb79a34889fca09e640613317c06698a (patch) | |
tree | 77e4f0f81569e7291e126185834ce4adcbf3c1f5 /source/blender | |
parent | 5272991e8b91c527fbe3923d75ae2c5148dd7177 (diff) |
Fix [#20418] ring select in face mode selects edges not faces
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/editors/mesh/loopcut.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/source/blender/editors/mesh/loopcut.c b/source/blender/editors/mesh/loopcut.c index 9510e40c6ac..089ac1a300c 100644 --- a/source/blender/editors/mesh/loopcut.c +++ b/source/blender/editors/mesh/loopcut.c @@ -332,16 +332,23 @@ static int ringsel_invoke (bContext *C, wmOperator *op, wmEvent *evt) tringselOpData *lcd; EditEdge *edge; int dist = 75; - + view3d_operator_needs_opengl(C); if (!ringsel_init(C, op, 0)) return OPERATOR_CANCELLED; + lcd = op->customdata; + + if (lcd->em->selectmode == SCE_SELECT_FACE) { + ringsel_exit(C, op); + WM_operator_name_call(C, "MESH_OT_loop_select", WM_OP_INVOKE_REGION_WIN, NULL); + return OPERATOR_CANCELLED; + } + /* add a modal handler for this operator - handles loop selection */ WM_event_add_modal_handler(C, op); - lcd = op->customdata; lcd->vc.mval[0] = evt->mval[0]; lcd->vc.mval[1] = evt->mval[1]; |