SL-15100 Crash rebulding faces
According to bugsplat's "Locals", viewer tried to iterate through 536018048 faces LLVolume pointer seemed to be valid but data in LLVolume wasn't, so likely vobj was invalidmeow-7.2.2
parent
5e134b4732
commit
52a8e6292c
|
|
@ -6048,14 +6048,25 @@ void LLVolumeGeometryManager::rebuildMesh(LLSpatialGroup* group)
|
|||
LLVOVolume* vobj = drawablep->getVOVolume();
|
||||
if (debugLoggingEnabled("AnimatedObjectsLinkset"))
|
||||
{
|
||||
if (vobj->isAnimatedObject() && vobj->isRiggedMesh())
|
||||
if (vobj && vobj->isAnimatedObject() && vobj->isRiggedMesh())
|
||||
{
|
||||
std::string vobj_name = llformat("Vol%p", vobj);
|
||||
F32 est_tris = vobj->getEstTrianglesMax();
|
||||
LL_DEBUGS("AnimatedObjectsLinkset") << vobj_name << " rebuildMesh, tris " << est_tris << LL_ENDL;
|
||||
LL_DEBUGS("AnimatedObjectsLinkset") << vobj_name << " rebuildMesh, tris " << est_tris << LL_ENDL;
|
||||
}
|
||||
}
|
||||
if (vobj->isNoLOD()) continue;
|
||||
|
||||
if (!vobj || vobj->isNoLOD())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
LLVolume* volume = vobj->getVolume();
|
||||
|
||||
if (!volume)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
vobj->preRebuild();
|
||||
|
||||
|
|
@ -6064,7 +6075,6 @@ void LLVolumeGeometryManager::rebuildMesh(LLSpatialGroup* group)
|
|||
vobj->updateRelativeXform(true);
|
||||
}
|
||||
|
||||
LLVolume* volume = vobj->getVolume();
|
||||
for (S32 i = 0; i < drawablep->getNumFaces(); ++i)
|
||||
{
|
||||
LLFace* face = drawablep->getFace(i);
|
||||
|
|
|
|||
Loading…
Reference in New Issue