NetworkGeometry: Fix crash for empty geometry/bad FBX versions

Interpret empty geometry as an error.
This commit is contained in:
Anthony Thibault 2016-03-20 12:13:54 -07:00
parent c3c7d3d776
commit 6e872edcae

View file

@ -72,11 +72,15 @@ void GeometryReader::run() {
const bool grabLightmaps = true;
const float lightmapLevel = 1.0f;
fbxgeo = readFBX(_data, _mapping, _url.path(), grabLightmaps, lightmapLevel);
if (fbxgeo->meshes.size() == 0 && fbxgeo->joints.size() == 0) {
// empty fbx geometry, indicates error
throw QString("empty geometry, possibly due to an unsupported FBX version");
}
} else if (_url.path().toLower().endsWith(".obj")) {
fbxgeo = OBJReader().readOBJ(_data, _mapping, _url);
} else {
QString errorStr("unsupported format");
emit onError(NetworkGeometry::ModelParseError, errorStr);
throw errorStr;
}
emit onSuccess(fbxgeo);
} else {