summaryrefslogtreecommitdiff
path: root/indra/newview/llvovolume.cpp
diff options
context:
space:
mode:
authorAndrey Lihatskiy <alihatskiy@productengine.com>2022-02-28 22:01:18 +0200
committerAndrey Lihatskiy <alihatskiy@productengine.com>2022-02-28 22:01:18 +0200
commite70fe3a50d43bd5276f80c9f82fcfb2de02109cb (patch)
treec35ab61e94d7b93e0e8be63f60c439d3b6a8c4b9 /indra/newview/llvovolume.cpp
parent15861d8dec096de57b0b51fa55a61a199a0f4337 (diff)
parent6ca09a94554ec01f5c94ec60fffd01d7e33f3546 (diff)
Merge branch 'master' into DRTVWR-483
# Conflicts: # indra/newview/llviewermenu.cpp
Diffstat (limited to 'indra/newview/llvovolume.cpp')
-rw-r--r--indra/newview/llvovolume.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index ca5305b169..77f756a123 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -6089,14 +6089,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();
@@ -6105,7 +6116,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);