diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-12-27 15:05:49 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-12-27 15:05:49 +0400 |
commit | 76b562237f31a804cd2eba9e3af6effa54f31b5b (patch) | |
tree | d789e373995ad0ab4ca0fb5668937c5b7814bb2d /source/blender/python/bmesh/bmesh_py_utils.c | |
parent | 03e388127034c35c82ed0f84b2239125111db5a4 (diff) | |
parent | d09a8ea9e7a8ad208326b99a0631e9efc7119fbd (diff) |
Merge branch 'master' into soc-2013-depsgraph_mtsoc-2013-depsgraph_mt
Conflicts:
source/blender/blenkernel/intern/constraint.c
source/blender/blenkernel/intern/depsgraph.c
source/blender/blenkernel/intern/object.c
source/blender/blenkernel/intern/scene.c
source/blender/blenkernel/intern/shrinkwrap.c
source/blender/collada/AnimationExporter.cpp
source/blender/editors/space_image/image_ops.c
source/blender/editors/space_view3d/view3d_view.c
source/blender/makesrna/intern/rna_scene.c
source/blender/modifiers/intern/MOD_util.c
source/blender/render/intern/source/pipeline.c
Diffstat (limited to 'source/blender/python/bmesh/bmesh_py_utils.c')
-rw-r--r-- | source/blender/python/bmesh/bmesh_py_utils.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/source/blender/python/bmesh/bmesh_py_utils.c b/source/blender/python/bmesh/bmesh_py_utils.c index d228e1a0646..236d6badd55 100644 --- a/source/blender/python/bmesh/bmesh_py_utils.c +++ b/source/blender/python/bmesh/bmesh_py_utils.c @@ -401,6 +401,7 @@ static PyObject *bpy_bm_utils_face_split(PyObject *UNUSED(self), PyObject *args, BMesh *bm; BMFace *f_new = NULL; BMLoop *l_new = NULL; + BMLoop *l_a, *l_b; if (!PyArg_ParseTupleAndKeywords(args, kw, "O!O!O!|OiO!:face_split", (char **)kwlist, &BPy_BMFace_Type, &py_face, @@ -422,9 +423,12 @@ static PyObject *bpy_bm_utils_face_split(PyObject *UNUSED(self), PyObject *args, } /* this doubles for checking that the verts are in the same mesh */ - if (BM_vert_in_face(py_face->f, py_vert_a->v) == false || - BM_vert_in_face(py_face->f, py_vert_b->v) == false) + if ((l_a = BM_face_vert_share_loop(py_face->f, py_vert_a->v)) && + (l_b = BM_face_vert_share_loop(py_face->f, py_vert_b->v))) { + /* pass */ + } + else { PyErr_SetString(PyExc_ValueError, "face_split(...): one of the verts passed is not found in the face"); return NULL; @@ -448,14 +452,14 @@ static PyObject *bpy_bm_utils_face_split(PyObject *UNUSED(self), PyObject *args, if (ncoords) { f_new = BM_face_split_n(bm, py_face->f, - py_vert_a->v, py_vert_b->v, + l_a, l_b, (float (*)[3])coords, ncoords, &l_new, py_edge_example ? py_edge_example->e : NULL); PyMem_Free(coords); } else { f_new = BM_face_split(bm, py_face->f, - py_vert_a->v, py_vert_b->v, + l_a, l_b, &l_new, py_edge_example ? py_edge_example->e : NULL, edge_exists); } |