Fix for collapse-edges crash in dyntopo
Was incorrectly testing for a vertex in a set with BLI_ghash_lookup rather than BLI_ghash_haskey; the key in this case is always null so the test failed. This could leave the PBVH in an inconsistent state, since the top-level map of BMesh vertices to PBVH nodes would indicate the vertex was in a node, but that node wouldn't actually have any faces using the vertex. That inconsistent state would eventually lead to a crash in pbvh_bmesh_vert_remove(). Fixes http://projects.blender.org/tracker/?func=detail&atid=498&aid=34370&group_id=9
This commit is contained in:
@@ -412,7 +412,7 @@ static void pbvh_bmesh_face_remove(PBVH *bvh, BMFace *f)
|
|||||||
do {
|
do {
|
||||||
v = l_iter->v;
|
v = l_iter->v;
|
||||||
if (pbvh_bmesh_node_vert_use_count(bvh, f_node, v) == 1) {
|
if (pbvh_bmesh_node_vert_use_count(bvh, f_node, v) == 1) {
|
||||||
if (BLI_ghash_lookup(f_node->bm_unique_verts, v)) {
|
if (BLI_ghash_haskey(f_node->bm_unique_verts, v)) {
|
||||||
/* Find a different node that uses 'v' */
|
/* Find a different node that uses 'v' */
|
||||||
PBVHNode *new_node;
|
PBVHNode *new_node;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user