diff options
Diffstat (limited to 'source/blender/bmesh/operators/subdivideop.c')
-rw-r--r-- | source/blender/bmesh/operators/subdivideop.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/source/blender/bmesh/operators/subdivideop.c b/source/blender/bmesh/operators/subdivideop.c index 641efd15df2..388ced2fbb6 100644 --- a/source/blender/bmesh/operators/subdivideop.c +++ b/source/blender/bmesh/operators/subdivideop.c @@ -967,11 +967,24 @@ void BM_esubdivideflag(Object *obedit, BMesh *bm, int flag, float smooth, BMHeader *ele; int i; - ele = BMO_IterNew(&iter,bm,&op, "outinner", BM_EDGE|BM_VERT); + ele = BMO_IterNew(&iter, bm, &op, "outinner", BM_EDGE|BM_VERT); + for (; ele; ele=BMO_IterStep(&iter)) { + BM_Select(bm, ele, 1); + } + } else if (seltype == SUBDIV_SELECT_LOOPCUT) { + BMOIter iter; + BMHeader *ele; + int i; + + /*deselect input*/ + BM_clear_flag_all(bm, BM_SELECT); + + ele = BMO_IterNew(&iter, bm, &op, "outinner", BM_EDGE|BM_VERT); for (; ele; ele=BMO_IterStep(&iter)) { BM_Select(bm, ele, 1); } } + BMO_Finish_Op(bm, &op); } |