diff options
| author | AlexanderP ProductEngine <apaschenko@productengine.com> | 2013-03-07 17:31:44 +0200 | 
|---|---|---|
| committer | AlexanderP ProductEngine <apaschenko@productengine.com> | 2013-03-07 17:31:44 +0200 | 
| commit | 7f5dee6161c6eed96275722cbb52a3fb1fcb3eb7 (patch) | |
| tree | 844fe67dd7386165848ef76fe2fdc35321b3a58d | |
| parent | 4621be8194ad87317bef7315ee17a8b8f4487e17 (diff) | |
CHUI-738 FIXED Your own nametag disappears - mysteriously: reset display time when nametag is changes
| -rw-r--r-- | indra/newview/llvoavatar.cpp | 81 | 
1 files changed, 41 insertions, 40 deletions
| diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 157be08f45..c74d9f1292 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -2994,43 +2994,43 @@ void LLVOAvatar::idleUpdateNameTag(const LLVector3& root_pos_last)  		return;  	} -		BOOL new_name = FALSE; -		if (visible_chat != mVisibleChat) +	BOOL new_name = FALSE; +	if (visible_chat != mVisibleChat) +	{ +		mVisibleChat = visible_chat; +		new_name = TRUE; +	} + +	if (sRenderGroupTitles != mRenderGroupTitles) +	{ +		mRenderGroupTitles = sRenderGroupTitles; +		new_name = TRUE; +	} + +	// First Calculate Alpha +	// If alpha > 0, create mNameText if necessary, otherwise delete it +	F32 alpha = 0.f; +	if (mAppAngle > 5.f) +	{ +		const F32 START_FADE_TIME = NAME_SHOW_TIME - FADE_DURATION; +		if (!visible_chat && sRenderName == RENDER_NAME_FADE && time_visible > START_FADE_TIME)  		{ -			mVisibleChat = visible_chat; -			new_name = TRUE; +			alpha = 1.f - (time_visible - START_FADE_TIME) / FADE_DURATION;  		} -		 -		if (sRenderGroupTitles != mRenderGroupTitles) +		else  		{ -			mRenderGroupTitles = sRenderGroupTitles; -			new_name = TRUE; +			// ...not fading, full alpha +			alpha = 1.f;  		} - -		// First Calculate Alpha -		// If alpha > 0, create mNameText if necessary, otherwise delete it -			F32 alpha = 0.f; -			if (mAppAngle > 5.f) -			{ -				const F32 START_FADE_TIME = NAME_SHOW_TIME - FADE_DURATION; -				if (!visible_chat && sRenderName == RENDER_NAME_FADE && time_visible > START_FADE_TIME) -				{ -					alpha = 1.f - (time_visible - START_FADE_TIME) / FADE_DURATION; -				} -				else -				{ -					// ...not fading, full alpha -					alpha = 1.f; -				} -			} -			else if (mAppAngle > 2.f) -			{ -				// far away is faded out also -				alpha = (mAppAngle-2.f)/3.f; -			} +	} +	else if (mAppAngle > 2.f) +	{ +		// far away is faded out also +		alpha = (mAppAngle-2.f)/3.f; +	}  	if (alpha <= 0.f) -			{ +	{  		if (mNameText)  		{  			mNameText->markDead(); @@ -3040,19 +3040,19 @@ void LLVOAvatar::idleUpdateNameTag(const LLVector3& root_pos_last)  		return;  	} -				if (!mNameText) -				{ +	if (!mNameText) +	{  		mNameText = static_cast<LLHUDNameTag*>( LLHUDObject::addHUDObject(  			LLHUDObject::LL_HUD_NAME_TAG) );  		//mNameText->setMass(10.f); -					mNameText->setSourceObject(this); +		mNameText->setSourceObject(this);  		mNameText->setVertAlignment(LLHUDNameTag::ALIGN_VERT_TOP); -					mNameText->setVisibleOffScreen(TRUE); -					mNameText->setMaxLines(11); -					mNameText->setFadeDistance(CHAT_NORMAL_RADIUS, 5.f); -					sNumVisibleChatBubbles++; -					new_name = TRUE; -				} +		mNameText->setVisibleOffScreen(TRUE); +		mNameText->setMaxLines(11); +		mNameText->setFadeDistance(CHAT_NORMAL_RADIUS, 5.f); +		sNumVisibleChatBubbles++; +		new_name = TRUE; +    }  	idleUpdateNameTagPosition(root_pos_last);  	idleUpdateNameTagText(new_name);			 @@ -3303,6 +3303,7 @@ void LLVOAvatar::clearNameTag()  		mNameText->setLabel("");  		mNameText->setString( "" );  	} +	mTimeVisible.reset();  }  //static | 
