diff --git a/indra/newview/llcontrolavatar.cpp b/indra/newview/llcontrolavatar.cpp index 6a78a3620d..ba61952a9a 100644 --- a/indra/newview/llcontrolavatar.cpp +++ b/indra/newview/llcontrolavatar.cpp @@ -60,6 +60,8 @@ LLControlAvatar::LLControlAvatar(const LLUUID& id, const LLPCode pcode, LLViewer // virtual LLControlAvatar::~LLControlAvatar() { + // Should already have been unlinked before destruction + llassert(!mRootVolp); } // virtual diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 0c73714924..5c9f20b182 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -3182,6 +3182,7 @@ void LLViewerObject::unlinkControlAvatar() if (mControlAvatar) { mControlAvatar->markForDeath(); + mControlAvatar->mRootVolp = NULL; mControlAvatar = NULL; } }