diff options
author | Howard Trickey <howard.trickey@gmail.com> | 2013-02-08 17:51:29 +0400 |
---|---|---|
committer | Howard Trickey <howard.trickey@gmail.com> | 2013-02-08 17:51:29 +0400 |
commit | 66e160d5033e4d4924fb7f7219d993a1defc8855 (patch) | |
tree | 99103f0d564c5119b32be7c60f178c7487dcd366 /source/blender/editors/mesh | |
parent | a3bd7de8a33a0dcd0fbbfdb41c9a7f84a142335c (diff) |
Fix Knife cut-through bug #34072.
Diffstat (limited to 'source/blender/editors/mesh')
-rw-r--r-- | source/blender/editors/mesh/editmesh_knife.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/editors/mesh/editmesh_knife.c b/source/blender/editors/mesh/editmesh_knife.c index 3bf68a6d42d..bc7fe783e78 100644 --- a/source/blender/editors/mesh/editmesh_knife.c +++ b/source/blender/editors/mesh/editmesh_knife.c @@ -645,6 +645,7 @@ static void knife_get_vert_faces(KnifeTool_OpData *kcd, KnifeVert *kfv, BMFace * { BMIter bmiter; BMFace *f; + Ref *r; if (kfv->isface && facef) { knife_append_list(kcd, lst, facef); @@ -654,6 +655,11 @@ static void knife_get_vert_faces(KnifeTool_OpData *kcd, KnifeVert *kfv, BMFace * knife_append_list(kcd, lst, f); } } + else { + for (r = kfv->faces.first; r; r = r->next) { + knife_append_list(kcd, lst, r->ref); + } + } } static void knife_get_edge_faces(KnifeTool_OpData *kcd, KnifeEdge *kfe, ListBase *lst) @@ -780,6 +786,7 @@ static void knife_cut_through(KnifeTool_OpData *kcd) kcd->totlinehit = 0; /* set up for next cut */ + kcd->curr.vert = lastv; kcd->prev = kcd->curr; } |