[Bf-blender-cvs] [c3ebab3] master: OpenSubdiv: Fix crash with empty mesh

Sergey Sharybin noreply at git.blender.org
Tue Sep 22 18:31:29 CEST 2015


Commit: c3ebab3e452ae5c33a79386486181828e30092e1
Author: Sergey Sharybin
Date:   Tue Sep 22 21:10:23 2015 +0500
Branches: master
https://developer.blender.org/rBc3ebab3e452ae5c33a79386486181828e30092e1

OpenSubdiv: Fix crash with empty mesh

Reported by newbz in IRC, thanks!

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

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

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

diff --git a/source/blender/blenkernel/intern/CCGSubSurf_opensubdiv.c b/source/blender/blenkernel/intern/CCGSubSurf_opensubdiv.c
index 006cebf..39669fd 100644
--- a/source/blender/blenkernel/intern/CCGSubSurf_opensubdiv.c
+++ b/source/blender/blenkernel/intern/CCGSubSurf_opensubdiv.c
@@ -314,9 +314,12 @@ int ccgSubSurf_getNumGLMeshBaseFaces(CCGSubSurf *ss)
 	if (ss->osd_topology_refiner != NULL) {
 		topology_refiner = ss->osd_topology_refiner;
 	}
-	else {
+	else if (ss->osd_mesh != NULL) {
 		topology_refiner = openSubdiv_getGLMeshTopologyRefiner(ss->osd_mesh);
 	}
+	else {
+		return 0;
+	}
 	return openSubdiv_topologyRefinerGetNumFaces(topology_refiner);
 }
 
@@ -327,9 +330,12 @@ int ccgSubSurf_getNumGLMeshBaseFaceVerts(CCGSubSurf *ss, int face)
 	if (ss->osd_topology_refiner != NULL) {
 		topology_refiner = ss->osd_topology_refiner;
 	}
-	else {
+	else if (ss->osd_mesh != NULL) {
 		topology_refiner = openSubdiv_getGLMeshTopologyRefiner(ss->osd_mesh);
 	}
+	else {
+		return 0;
+	}
 	return openSubdiv_topologyRefinerGetNumFaceVerts(topology_refiner, face);
 }




More information about the Bf-blender-cvs mailing list