OpenSubdiv: Fix crash with empty mesh

Reported by newbz in IRC, thanks!
This commit is contained in:
Sergey Sharybin
2015-09-22 21:10:23 +05:00
parent dc9f906d42
commit c3ebab3e45

View File

@@ -314,9 +314,12 @@ int ccgSubSurf_getNumGLMeshBaseFaces(CCGSubSurf *ss)
if (ss->osd_topology_refiner != NULL) { if (ss->osd_topology_refiner != NULL) {
topology_refiner = ss->osd_topology_refiner; topology_refiner = ss->osd_topology_refiner;
} }
else { else if (ss->osd_mesh != NULL) {
topology_refiner = openSubdiv_getGLMeshTopologyRefiner(ss->osd_mesh); topology_refiner = openSubdiv_getGLMeshTopologyRefiner(ss->osd_mesh);
} }
else {
return 0;
}
return openSubdiv_topologyRefinerGetNumFaces(topology_refiner); return openSubdiv_topologyRefinerGetNumFaces(topology_refiner);
} }
@@ -327,9 +330,12 @@ int ccgSubSurf_getNumGLMeshBaseFaceVerts(CCGSubSurf *ss, int face)
if (ss->osd_topology_refiner != NULL) { if (ss->osd_topology_refiner != NULL) {
topology_refiner = ss->osd_topology_refiner; topology_refiner = ss->osd_topology_refiner;
} }
else { else if (ss->osd_mesh != NULL) {
topology_refiner = openSubdiv_getGLMeshTopologyRefiner(ss->osd_mesh); topology_refiner = openSubdiv_getGLMeshTopologyRefiner(ss->osd_mesh);
} }
else {
return 0;
}
return openSubdiv_topologyRefinerGetNumFaceVerts(topology_refiner, face); return openSubdiv_topologyRefinerGetNumFaceVerts(topology_refiner, face);
} }