diff options
author | Ton Roosendaal <ton@blender.org> | 2004-09-28 17:58:23 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2004-09-28 17:58:23 +0400 |
commit | ff5e65bdbbda9425c6e1f81590ee894d3b787235 (patch) | |
tree | 15b73b3ae4e6a8c74114678ffed578604efd87e0 /source/blender/src/editmesh_mods.c | |
parent | e6cc3c1ee189579cba2b686ec6265c04f233ec2a (diff) |
Crash fix;
- wireframe view
- editmode cube
- subsurf + optimal on
- set new selectmode 'face'
thanks sirdude & sgefant!
Diffstat (limited to 'source/blender/src/editmesh_mods.c')
-rw-r--r-- | source/blender/src/editmesh_mods.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/source/blender/src/editmesh_mods.c b/source/blender/src/editmesh_mods.c index f842bacca54..97cdf131dc9 100644 --- a/source/blender/src/editmesh_mods.c +++ b/source/blender/src/editmesh_mods.c @@ -861,6 +861,7 @@ static void faceloop_select(EditEdge *startedge, int select) } } + /* helper for edgeloop_select, checks for eed->f2 tag in faces */ static int edge_not_in_tagged_face(EditEdge *eed) { @@ -869,8 +870,10 @@ static int edge_not_in_tagged_face(EditEdge *eed) for(efa= em->faces.first; efa; efa= efa->next) { if(efa->h==0) { - if(efa->e1==eed || efa->e2==eed || efa->e3==eed || efa->e4==eed) { - if(efa->e1->f2 || efa->e2->f2 || efa->e3->f2 || (efa->e4 && efa->e4->f2)) return 0; + if(efa->e1==eed || efa->e2==eed || efa->e3==eed || efa->e4==eed) { // edge is in face + if(efa->e1->f2 || efa->e2->f2 || efa->e3->f2 || (efa->e4 && efa->e4->f2)) { // face is tagged + return 0; + } } } } @@ -897,7 +900,7 @@ static void edgeloop_select(EditEdge *starteed, int select) int looking= 1; /* in f1 we put the valence (amount of edges in a vertex, or faces in edge) */ - /* in f2 we put tagged flag as correct loop */ + /* in eed->f2 and efa->f1 we put tagged flag as correct loop */ for(eve= em->verts.first; eve; eve= eve->next) { eve->f1= 0; eve->f2= 0; @@ -910,6 +913,7 @@ static void edgeloop_select(EditEdge *starteed, int select) } } for(efa= em->faces.first; efa; efa= efa->next) { + efa->f1= 0; if(efa->h==0) { efa->e1->f1++; efa->e2->f1++; |