diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-09-21 13:18:50 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-09-21 13:18:50 +0300 |
commit | 9ecce9b4c43e242238688c6b3e0899408dd59867 (patch) | |
tree | ebbf3217a90e4187d603e1a6eb53bee9bcdb4430 /source | |
parent | 12372e8d8b0e2c6015b8f68fb01e5aef9b5c22cd (diff) |
Subdiv: Fix crash subdividing mesh withotu faces
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/subdiv.c | 10 |
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; } |