diff options
author | Northspring <pantera.polnocy@phoenixviewer.com> | 2014-12-19 23:30:06 +0100 |
---|---|---|
committer | Northspring <pantera.polnocy@phoenixviewer.com> | 2014-12-19 23:30:06 +0100 |
commit | 35a39d5ea1cea63a3356a6cd310a3c3a90644b1c (patch) | |
tree | 9f097a8abfe45fb44c2d8f8746a609bdda8acd7f /indra/llprimitive | |
parent | 09e94a2b5d0bf6feb8b2a4f8ad86346f0201714d (diff) | |
parent | 4ec9bce3c2a715f53938e4568c95b7a2bdfc9e16 (diff) |
Merge
Diffstat (limited to 'indra/llprimitive')
-rwxr-xr-x | indra/llprimitive/llmodel.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp index b19df0200d..aa8dd7697c 100755 --- a/indra/llprimitive/llmodel.cpp +++ b/indra/llprimitive/llmodel.cpp @@ -180,18 +180,18 @@ LLModel::EModelStatus load_face_from_dom_triangles(std::vector<LLVolumeFace>& fa domListOfUInts& idx = p->getValue(); domListOfFloats dummy ; - domListOfFloats& v = pos_source ? pos_source->getFloat_array()->getValue() : dummy ; - domListOfFloats& tc = tc_source ? tc_source->getFloat_array()->getValue() : dummy ; - domListOfFloats& n = norm_source ? norm_source->getFloat_array()->getValue() : dummy ; + domListOfFloats& v = (pos_source && pos_source->getFloat_array()) ? pos_source->getFloat_array()->getValue() : dummy ; + domListOfFloats& tc = (tc_source && tc_source->getFloat_array()) ? tc_source->getFloat_array()->getValue() : dummy ; + domListOfFloats& n = (norm_source && norm_source->getFloat_array()) ? norm_source->getFloat_array()->getValue() : dummy ; LLVolumeFace::VertexMapData::PointMap point_map; U32 index_count = idx.getCount(); - U32 vertex_count = pos_source ? v.getCount() : 0; - U32 tc_count = tc_source ? tc.getCount() : 0; - U32 norm_count = norm_source ? n.getCount() : 0; + U32 vertex_count = (pos_source && pos_source->getFloat_array()) ? v.getCount() : 0; + U32 tc_count = (tc_source && tc_source->getFloat_array()) ? tc.getCount() : 0; + U32 norm_count = (norm_source && norm_source->getFloat_array()) ? n.getCount(): 0; - if ((vertex_count == 0) || (tc_count == 0)) + if ((vertex_count == 0)) { LL_WARNS() << "Unable to process mesh with empty position array; invalid model." << LL_ENDL; return LLModel::BAD_ELEMENT; @@ -229,7 +229,7 @@ LLModel::EModelStatus load_face_from_dom_triangles(std::vector<LLVolumeFace>& fa { // guard against model data specifiying out of range indices or tcs // - + if (((i + tc_offset) > index_count) || ((idx[i+tc_offset]*2+1) > tc_count)) { |