OpenSubdiv: Fix crash with empty mesh
Reported by newbz in IRC, thanks!
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user