diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llvoavatar.cpp | 17 | ||||
| -rw-r--r-- | indra/newview/llvoavatar.h | 2 | 
2 files changed, 15 insertions, 4 deletions
| diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 05114c1ca4..63c2ce87ca 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -683,7 +683,8 @@ LLVOAvatar::LLVOAvatar(const LLUUID& id,  {  	LLMemType mt(LLMemType::MTYPE_AVATAR);  	//VTResume();  // VTune -	 +	mImpostorExtents = (LLVector4a*) ll_aligned_malloc_16(32); +  	// mVoiceVisualizer is created by the hud effects manager and uses the HUD Effects pipeline  	const BOOL needsSendToSim = false; // currently, this HUD effect doesn't need to pack and unpack data to do its job  	mVoiceVisualizer = ( LLVoiceVisualizer *)LLHUDManager::getInstance()->createViewerEffect( LLHUDObject::LL_HUD_EFFECT_VOICE_VISUALIZER, needsSendToSim ); @@ -829,6 +830,9 @@ LLVOAvatar::~LLVOAvatar()  	mAnimationSources.clear(); +	ll_aligned_free_16(mImpostorExtents); +	mImpostorExtents = NULL; +  	lldebugs << "LLVOAvatar Destructor end" << llendl;  } @@ -5558,8 +5562,7 @@ LLViewerJointAttachment* LLVOAvatar::getTargetAttachmentPoint(LLViewerObject* vi  	// correctly, but putting this check in here to be safe.  	if (attachmentID & ATTACHMENT_ADD)  	{ -		llwarns << "Got an attachment with ATTACHMENT_ADD mask, removing ( attach pt:" << attachmentID << " )" << llendl; -		attachmentID &= ~ATTACHMENT_ADD; +		llwarns << "Got an attachment with ATTACHMENT_ADD mask, removing ( attach pt:" << attachmentID << " )" << llendl;		attachmentID &= ~ATTACHMENT_ADD;  	}  	LLViewerJointAttachment* attachment = get_if_there(mAttachmentPoints, attachmentID, (LLViewerJointAttachment*)NULL); @@ -5680,6 +5683,14 @@ BOOL LLVOAvatar::detachObject(LLViewerObject *viewer_object)  			return TRUE;  		}  	} + +	std::vector<LLPointer<LLViewerObject> >::iterator iter = std::find(mPendingAttachment.begin(), mPendingAttachment.end(), viewer_object); +	if (iter != mPendingAttachment.end()) +	{ +		mPendingAttachment.erase(iter); +		return TRUE; +	} +	  	return FALSE;  } diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index b4da8ba5a4..358a1c256f 100644 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -405,7 +405,7 @@ private:  	LLVector3	mImpostorOffset;  	LLVector2	mImpostorDim;  	BOOL		mNeedsAnimUpdate; -	LL_ALIGN_16(LLVector4a	mImpostorExtents[2]); +	LLVector4a*	mImpostorExtents;  	LLVector3	mImpostorAngle;  	F32			mImpostorDistance;  	F32			mImpostorPixelArea; | 
