diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-03-20 01:37:22 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-03-20 01:37:22 +0400 |
commit | cb11af8b0651ba0106b5f66f3be061cb8f24154c (patch) | |
tree | 13cbb5119ff2386edac9a46e1503761923703cad /source/blender | |
parent | 42d65dd7ffc360a2bc5c9b35eeaed29c01d4fe3c (diff) |
fix for knife tool crash when knife_make_chain_cut() couldn't create a new face.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/editors/mesh/editmesh_knife.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/editors/mesh/editmesh_knife.c b/source/blender/editors/mesh/editmesh_knife.c index b5b6a92cbf5..e52b1e5c372 100644 --- a/source/blender/editors/mesh/editmesh_knife.c +++ b/source/blender/editors/mesh/editmesh_knife.c @@ -2740,10 +2740,16 @@ static void knife_make_face_cuts(KnifeTool_OpData *kcd, BMFace *f, ListBase *kfe kfe = ((Ref *)sidechain->first)->ref; if (knife_edge_in_face(kcd, kfe, f)) { knife_make_chain_cut(kcd, f, sidechain, &fnew2); + if (fnew2 == NULL) { + return; + } fhole = f; } else if (knife_edge_in_face(kcd, kfe, fnew)) { knife_make_chain_cut(kcd, fnew, sidechain, &fnew2); + if (fnew2 == NULL) { + return; + } fhole = fnew2; } else { |