From b9ef2732941ca0241b4ae96664432e6fea4b6a61 Mon Sep 17 00:00:00 2001 From: Rye Mutt <rye@alchemyviewer.org> Date: Thu, 12 Mar 2020 14:20:15 -0400 Subject: [PATCH] Defer bounding box generation until mesh asset loaded in attempt to fix large animesh disappearing --- indra/newview/llvoavatar.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 6f74fb167aa..a3a86e22326 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -6253,7 +6253,7 @@ void LLVOAvatar::addAttachmentOverridesForObject(LLViewerObject *vo, std::set<LL } const LLMeshSkinInfo* pSkinData = nullptr; - if ( vobj && vobj->isMesh() && (pSkinData = vobj->getSkinInfo()) ) + if ( vobj && vobj->isMesh() && (pSkinData = vobj->getSkinInfo()) && vobj->getVolume() && vobj->getVolume()->isMeshAssetLoaded() && gMeshRepo.meshRezEnabled()) { const int bindCnt = pSkinData->mAlternateBindMatrix.size(); const int jointCnt = pSkinData->mJointNames.size(); @@ -10053,10 +10053,9 @@ void LLVOAvatar::updateRiggingInfo() { LL_RECORD_BLOCK_TIME(FTM_AVATAR_RIGGING_KEY_UPDATE); // Get current rigging info key - for (std::vector<LLVOVolume*>::iterator it = volumes.begin(); it != volumes.end(); ++it) + for (LLVOVolume* vol : volumes) { - LLVOVolume *vol = *it; - if (vol->isMesh() && vol->getVolume()) + if (vol->isRiggedMesh() && vol->getVolume() && vol->getVolume()->isMeshAssetLoaded()) { const LLUUID& mesh_id = vol->getVolume()->getParams().getSculptID(); S32 max_lod = llmax(vol->getLOD(), vol->mLastRiggingInfoLOD); -- GitLab