summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2023-08-28 21:48:32 +0300
committerakleshchev <117672381+akleshchev@users.noreply.github.com>2023-08-28 23:18:54 +0300
commit3d2da2b2c09fc637c2eaccac1607e3480bede145 (patch)
tree38eb99d27cade418476da0b586c8890099ceebd1
parent147def0fdb333ca41054c714be9c207f1397e4a8 (diff)
SL-20214 Crash at LLControlAVBridge::updateSpatialExtents
-rw-r--r--indra/newview/llvovolume.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 4ddba872f1..269c5666cc 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -5114,8 +5114,6 @@ void LLControlAVBridge::updateSpatialExtents()
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_DRAWABLE
- LLControlAvatar* controlAvatar = getVObj()->getControlAvatar();
-
LLSpatialGroup* root = (LLSpatialGroup*)mOctree->getListener(0);
bool rootWasDirty = root->isDirty();
@@ -5126,7 +5124,11 @@ void LLControlAVBridge::updateSpatialExtents()
// disappear when root goes off-screen"
//
// Expand extents to include Control Avatar placed outside of the bounds
- if (controlAvatar && (rootWasDirty || controlAvatar->mPlaying))
+ LLControlAvatar* controlAvatar = getVObj() ? getVObj()->getControlAvatar() : NULL;
+ if (controlAvatar
+ && controlAvatar->mDrawable
+ && controlAvatar->mDrawable->getEntry()
+ && (rootWasDirty || controlAvatar->mPlaying))
{
root->expandExtents(controlAvatar->mDrawable->getSpatialExtents(), *mDrawable->getXform());
}