diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2023-08-28 21:48:32 +0300 |
---|---|---|
committer | Andrey Lihatskiy <alihatskiy@productengine.com> | 2023-09-06 01:26:08 +0300 |
commit | a93fc959c78a5f90c1f9dd79af5c10b2eea7ae34 (patch) | |
tree | 60cbde616526231d593b718188b04369fa7cc8bf /indra | |
parent | 71a02a8d359f9a916f3119fa947addec07260c28 (diff) |
SL-20214 Crash at LLControlAVBridge::updateSpatialExtents
(cherry picked from commit 3d2da2b2c09fc637c2eaccac1607e3480bede145)
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llvovolume.cpp | 8 |
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()); } |