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
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2016-04-28 05:48:13 +0300
committerCampbell Barton <ideasman42@gmail.com>2016-04-28 05:50:12 +0300
commit6e94ec623d3ff9e92cffc3e1461f033543dda5b3 (patch)
tree7e40860b6d78f0ea2fe320b1455308d54a485300 /source/blender/bmesh/tools/bmesh_decimate_dissolve.c
parent2b485e21f4d11e2313f97d6c1e34558b64e6f5a0 (diff)
BMesh: limited-dissolve, add check for wire edges
Recent degenerate check crashed on chains of wire edges
Diffstat (limited to 'source/blender/bmesh/tools/bmesh_decimate_dissolve.c')
-rw-r--r--source/blender/bmesh/tools/bmesh_decimate_dissolve.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/bmesh/tools/bmesh_decimate_dissolve.c b/source/blender/bmesh/tools/bmesh_decimate_dissolve.c
index 5a7a2f3ee29..1a16bd13fef 100644
--- a/source/blender/bmesh/tools/bmesh_decimate_dissolve.c
+++ b/source/blender/bmesh/tools/bmesh_decimate_dissolve.c
@@ -226,6 +226,12 @@ static bool bm_vert_collapse_is_degenerate(BMVert *v)
BMVert *v_pair[2];
if (BM_vert_edge_pair(v, &e_pair[0], &e_pair[1])) {
+
+ /* allow wire edges */
+ if (BM_edge_is_wire(e_pair[0]) || BM_edge_is_wire(e_pair[1])) {
+ return false;
+ }
+
v_pair[0] = BM_edge_other_vert(e_pair[0], v);
v_pair[1] = BM_edge_other_vert(e_pair[1], v);