diff options
author | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2017-09-26 15:39:22 +0100 |
---|---|---|
committer | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2017-09-26 15:39:22 +0100 |
commit | 2851793e670bbdff79f97534206bd3d7b4ae003d (patch) | |
tree | 037603ed02cff66fd166875b92b63edceedca5b8 | |
parent | 59e0c9be7137cfc9a6aec635acc9c0da9e854a24 (diff) |
SL-800 - also need to add attachment overrides in the complementary case
-rw-r--r-- | indra/newview/llvoavatar.cpp | 4 | ||||
-rw-r--r-- | indra/newview/llvovolume.cpp | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index fdce66e2c6..0fcb4ffc55 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -5717,7 +5717,7 @@ void LLVOAvatar::rebuildAttachmentOverrides() //----------------------------------------------------------------------------- void LLVOAvatar::addAttachmentOverridesForObject(LLViewerObject *vo) { - if (vo->getAvatar() != this) + if (vo->getAvatar() != this && vo->getAvatarAncestor() != this) { LL_WARNS("Avatar") << "called with invalid avatar" << LL_ENDL; return; @@ -5936,7 +5936,7 @@ void LLVOAvatar::showAttachmentOverrides(bool verbose) const // AXON handle NPC case void LLVOAvatar::removeAttachmentOverridesForObject(LLViewerObject *vo) { - if (vo->getAvatar() != this) + if (vo->getAvatar() != this && vo->getAvatarAncestor() != this) { LL_WARNS("Avatar") << "called with invalid avatar" << LL_ENDL; return; diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index e8122c0748..121fb9c11e 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -3348,6 +3348,11 @@ void LLVOVolume::setExtendedMeshFlags(U32 flags) // Making a rigged mesh into an animated object getAvatarAncestor()->removeAttachmentOverridesForObject(this); } + else + { + // Making an animated object into a rigged mesh + getAvatarAncestor()->addAttachmentOverridesForObject(this); + } } } } |