diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-03-06 23:29:05 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-03-06 23:29:05 +0400 |
commit | d1937de1d26992c31407485c7945470627234ebb (patch) | |
tree | c57f8739cf6b764987cde7c6e14cb1b81b57faf9 /source/blender/bmesh/operators/bmo_dissolve.c | |
parent | 31d2ee9bf77bb991ea4779c47379b2cee84b27ed (diff) |
fix for own error in edge-rotate keeping edge customdata - this was crashing when rotating multiple edges.
Now create the rotate edge in advance and copy its customdata (before joining the faces).
This commit also fixes an annoyance where tryangulating faces could create duplicate edges.
Diffstat (limited to 'source/blender/bmesh/operators/bmo_dissolve.c')
-rw-r--r-- | source/blender/bmesh/operators/bmo_dissolve.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/bmesh/operators/bmo_dissolve.c b/source/blender/bmesh/operators/bmo_dissolve.c index 25eaab1740d..c54052e135e 100644 --- a/source/blender/bmesh/operators/bmo_dissolve.c +++ b/source/blender/bmesh/operators/bmo_dissolve.c @@ -144,7 +144,7 @@ void bmo_dissolve_faces_exec(BMesh *bm, BMOperator *op) while (faces[tot]) tot++; - f = BM_faces_join(bm, faces, tot, TRUE); + f = BM_faces_join(bm, faces, tot); if (!f) { BMO_error_raise(bm, op, BMERR_DISSOLVEFACES_FAILED, "Could not create merged face"); @@ -207,7 +207,7 @@ void bmo_dissolve_edgeloop_exec(BMesh *bm, BMOperator *op) BMO_elem_flag_enable(bm, e->v1, VERT_MARK); BMO_elem_flag_enable(bm, e->v2, VERT_MARK); - BM_faces_join_pair(bm, fa, fb, e, TRUE); + BM_faces_join_pair(bm, fa, fb, e); } } @@ -260,7 +260,7 @@ void bmo_dissolve_edges_exec(BMesh *bm, BMOperator *op) if (BM_edge_face_pair(e, &fa, &fb)) { /* join faces */ - BM_faces_join_pair(bm, fa, fb, e, TRUE); + BM_faces_join_pair(bm, fa, fb, e); } } @@ -515,7 +515,7 @@ void bmo_dissolve_limit_exec(BMesh *bm, BMOperator *op) if (BM_edge_face_angle(bm, e) < angle_limit) { BMFace *nf = BM_faces_join_pair(bm, e->l->f, e->l->radial_next->f, - e, TRUE); /* join faces */ + e); /* join faces */ /* there may be some errors, we dont mind, just move on */ if (nf == NULL) { |