[Bf-blender-cvs] [b6330327110] sculpt-dev: Sculpt-dev: add corruption check

Joseph Eagar noreply at git.blender.org
Sun Nov 14 10:11:44 CET 2021


Commit: b63303271100ebb15dec7f13e78b8079bbbf4c58
Author: Joseph Eagar
Date:   Sun Nov 14 01:10:02 2021 -0800
Branches: sculpt-dev
https://developer.blender.org/rBb63303271100ebb15dec7f13e78b8079bbbf4c58

Sculpt-dev: add corruption check

Stopgap measure to deal with rare
PBVH corruption until I have the
time to properly track it down.

===================================================================

M	source/blender/blenkernel/intern/pbvh_bmesh.c

===================================================================

diff --git a/source/blender/blenkernel/intern/pbvh_bmesh.c b/source/blender/blenkernel/intern/pbvh_bmesh.c
index ad633b8d780..20b97914bbc 100644
--- a/source/blender/blenkernel/intern/pbvh_bmesh.c
+++ b/source/blender/blenkernel/intern/pbvh_bmesh.c
@@ -3598,6 +3598,11 @@ static void pbvh_bmesh_balance_tree(PBVH *pbvh)
     printf("joined nodes; %d faces\n", BLI_array_len(faces));
 
     for (int i = 0; i < BLI_array_len(faces); i++) {
+      if (BM_elem_is_free((BMElem*) faces[i], BM_FACE)) {
+        printf("corrupted face in pbvh tree; faces[i]: %p\n", faces[i]);
+        continue;
+      }
+
       if (BM_ELEM_CD_GET_INT(faces[i], cd_face_node) != DYNTOPO_NODE_NONE) {
         // printf("duplicate faces in pbvh_bmesh_balance_tree!\n");
         continue;



More information about the Bf-blender-cvs mailing list