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:
authorSergey Sharybin <sergey.vfx@gmail.com>2018-09-21 13:18:50 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2018-09-21 13:18:50 +0300
commit9ecce9b4c43e242238688c6b3e0899408dd59867 (patch)
treeebbf3217a90e4187d603e1a6eb53bee9bcdb4430 /source/blender/blenkernel/intern/subdiv.c
parent12372e8d8b0e2c6015b8f68fb01e5aef9b5c22cd (diff)
Subdiv: Fix crash subdividing mesh withotu faces
Diffstat (limited to 'source/blender/blenkernel/intern/subdiv.c')
-rw-r--r--source/blender/blenkernel/intern/subdiv.c10
1 files changed, 7 insertions, 3 deletions
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;
}