diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2023-08-28 21:48:32 +0300 | 
|---|---|---|
| committer | akleshchev <117672381+akleshchev@users.noreply.github.com> | 2023-08-28 23:18:54 +0300 | 
| commit | 3d2da2b2c09fc637c2eaccac1607e3480bede145 (patch) | |
| tree | 38eb99d27cade418476da0b586c8890099ceebd1 | |
| parent | 147def0fdb333ca41054c714be9c207f1397e4a8 (diff) | |
SL-20214 Crash at LLControlAVBridge::updateSpatialExtents
| -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());  	} | 
