summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2023-08-28 21:48:32 +0300
committerAndrey Lihatskiy <alihatskiy@productengine.com>2023-09-06 01:26:08 +0300
commita93fc959c78a5f90c1f9dd79af5c10b2eea7ae34 (patch)
tree60cbde616526231d593b718188b04369fa7cc8bf /indra
parent71a02a8d359f9a916f3119fa947addec07260c28 (diff)
SL-20214 Crash at LLControlAVBridge::updateSpatialExtents
(cherry picked from commit 3d2da2b2c09fc637c2eaccac1607e3480bede145)
Diffstat (limited to 'indra')
-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());
}