Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorHoward Trickey <howard.trickey@gmail.com>2013-02-08 17:51:29 +0400
committerHoward Trickey <howard.trickey@gmail.com>2013-02-08 17:51:29 +0400
commit66e160d5033e4d4924fb7f7219d993a1defc8855 (patch)
tree99103f0d564c5119b32be7c60f178c7487dcd366 /source
parenta3bd7de8a33a0dcd0fbbfdb41c9a7f84a142335c (diff)
Fix Knife cut-through bug #34072.
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/mesh/editmesh_knife.c7
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;
}