diff options
author | Johnny Matthews <johnny.matthews@gmail.com> | 2005-08-01 23:12:29 +0400 |
---|---|---|
committer | Johnny Matthews <johnny.matthews@gmail.com> | 2005-08-01 23:12:29 +0400 |
commit | bc865d6d2098d82f9a00655b8aa89a326244db0a (patch) | |
tree | f6d871c5253c28028feb4002efec9d4190a21728 /source/blender/src/editmesh_loop.c | |
parent | 6116b36f4e14e38b180e89793eb6304200e854c8 (diff) |
Make Loopcut in Faceselect mode able to enter Edgeslide and not get 'loop crosses itself' message. Still need to work on selection out of this condition
Diffstat (limited to 'source/blender/src/editmesh_loop.c')
-rw-r--r-- | source/blender/src/editmesh_loop.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/source/blender/src/editmesh_loop.c b/source/blender/src/editmesh_loop.c index 33a3c5806e9..f5aa923de73 100644 --- a/source/blender/src/editmesh_loop.c +++ b/source/blender/src/editmesh_loop.c @@ -206,11 +206,19 @@ void CutEdgeloop(int numcuts) { EditMesh *em = G.editMesh; EditEdge *nearest=NULL, *eed; - int keys = 0, holdnum=0; + int keys = 0, holdnum=0, selectmode; short mvalo[2] = {0,0}, mval[2]; short event,val,choosing=1,cancel=0,dist,cuthalf = 0; char msg[128]; + selectmode = G.scene->selectmode; + + if(G.scene->selectmode & SCE_SELECT_FACE){ + G.scene->selectmode = SCE_SELECT_EDGE; + EM_selectmode_set(); + } + + BIF_undo_push("Loopcut Begin"); while(choosing){ if(cancel){ @@ -364,6 +372,12 @@ void CutEdgeloop(int numcuts) } } } + + if(G.scene->selectmode != selectmode){ + G.scene->selectmode = selectmode; + EM_selectmode_set(); + } + //force_draw(0); DAG_object_flush_update(G.scene, G.obedit, OB_RECALC_DATA); scrarea_queue_winredraw(curarea); |