MAINT-4863 FIXED Return LLModel::BAD_ELEMENT for model with empty or corrupted position array

meow-7.2.2
Mnikolenko ProductEngine 2015-02-09 12:17:44 +02:00
parent cf5a5a0e97
commit 46101abd73
1 changed files with 6 additions and 1 deletions

View File

@ -169,6 +169,11 @@ LLModel::EModelStatus load_face_from_dom_triangles(std::vector<LLVolumeFace>& fa
if (pos_source)
{
if(!pos_source->getFloat_array() || (v.getCount() == 0))
{
return LLModel::BAD_ELEMENT;
}
face.mExtents[0].set(v[0], v[1], v[2]);
face.mExtents[1].set(v[0], v[1], v[2]);
}
@ -2202,7 +2207,7 @@ bool LLDAELoader::addVolumeFacesFromDomMesh(LLModel* pModel,domMesh* mesh)
domTrianglesRef& tri = tris.get(i);
status = load_face_from_dom_triangles(pModel->getVolumeFaces(), pModel->getMaterialList(), tri);
pModel->mStatus = status;
if(status != LLModel::NO_ERRORS)
{
pModel->ClearFacesAndMaterials();