[Bf-blender-cvs] [9ecce9b4c43] blender2.8: Subdiv: Fix crash subdividing mesh withotu faces

Sergey Sharybin noreply at git.blender.org
Fri Sep 21 12:19:52 CEST 2018


Commit: 9ecce9b4c43e242238688c6b3e0899408dd59867
Author: Sergey Sharybin
Date:   Fri Sep 21 12:18:50 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB9ecce9b4c43e242238688c6b3e0899408dd59867

Subdiv: Fix crash subdividing mesh withotu faces

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

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

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

diff --git a/source/blender/blenkernel/intern/subdiv.c b/source/blender/blenkernel/intern/subdiv.c
index 82275b7305f..5ebeb0d2fa0 100644
--- a/source/blender/blenkernel/intern/subdiv.c
+++ b/source/blender/blenkernel/intern/subdiv.c
@@ -129,15 +129,19 @@ int *BKE_subdiv_face_ptex_offset_get(Subdiv *subdiv)
 	if (subdiv->cache_.face_ptex_offset != NULL) {
 		return subdiv->cache_.face_ptex_offset;
 	}
+	OpenSubdiv_TopologyRefiner *topology_refiner = subdiv->topology_refiner;
+	if (topology_refiner == NULL) {
+		return NULL;
+	}
 	const int num_coarse_faces =
-	        subdiv->topology_refiner->getNumFaces(subdiv->topology_refiner);
+	        topology_refiner->getNumFaces(topology_refiner);
 	subdiv->cache_.face_ptex_offset = MEM_malloc_arrayN(
 	        num_coarse_faces, sizeof(int), "subdiv face_ptex_offset");
 	int ptex_offset = 0;
 	for (int face_index = 0; face_index < num_coarse_faces; face_index++) {
 		const int num_ptex_faces =
-		        subdiv->topology_refiner->getNumFacePtexFaces(
-		                subdiv->topology_refiner, face_index);
+		        topology_refiner->getNumFacePtexFaces(
+		                topology_refiner, face_index);
 		subdiv->cache_.face_ptex_offset[face_index] = ptex_offset;
 		ptex_offset += num_ptex_faces;
 	}



More information about the Bf-blender-cvs mailing list