diff options
Diffstat (limited to 'indra/newview/llvovolume.cpp')
-rw-r--r-- | indra/newview/llvovolume.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 8fcb498fca..c007b446f7 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -3474,9 +3474,16 @@ void LLVOVolume::afterReparent() if (isAnimatedObject() && getControlAvatar()) { - LL_DEBUGS("AnimatedObjects") << "adding attachment overrides, parent is animated object" + LL_DEBUGS("AnimatedObjects") << "adding attachment overrides, parent is animated object " << ((LLViewerObject*)getParent())->getID() << LL_ENDL; - //getControlAvatar()->addAttachmentOverridesForObject(this); + + // MAINT-8239 - doing a full rebuild whenever parent is set + // makes the joint overrides load more robustly. In theory, + // addAttachmentOverrides should be sufficient, but in + // practice doing a full rebuild helps compensate for + // notifyMeshLoaded() not being called reliably enough. + + // was: getControlAvatar()->addAttachmentOverridesForObject(this); getControlAvatar()->rebuildAttachmentOverrides(); getControlAvatar()->updateAnimations(); } |