diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llselectmgr.cpp | 14 | 
1 files changed, 7 insertions, 7 deletions
| diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index d3649e3603..99a51f125d 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -5844,7 +5844,7 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)  	static LLColor4 sParentColor = LLColor4(sSilhouetteParentColor[VRED], sSilhouetteParentColor[VGREEN], sSilhouetteParentColor[VBLUE], LLSelectMgr::sHighlightAlpha);  	static LLColor4 sChildColor = LLColor4(sSilhouetteChildColor[VRED], sSilhouetteChildColor[VGREEN], sSilhouetteChildColor[VBLUE], LLSelectMgr::sHighlightAlpha); -	auto renderMeshSelection_f = [fogCfx, wireframe_selection](LLSelectNode* node, LLViewerObject* objectp) +	auto renderMeshSelection_f = [fogCfx, wireframe_selection](LLSelectNode* node, LLViewerObject* objectp, LLColor4 hlColor)  	{  		//Need to because crash on ATI 3800 (and similar cards) MAINT-5018   		LLGLDisable multisample(LLPipeline::RenderFSAASamples > 0 ? GL_MULTISAMPLE_ARB : 0); @@ -5874,7 +5874,6 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)  			gGL.translatef(trans.mV[0], trans.mV[1], trans.mV[2]);  		} -		LLColor4 hlColor = objectp->isRootEdit() ? sParentColor : sChildColor;  		bool bRenderHidenSelection = node->isTransient() ? false : LLSelectMgr::sRenderHiddenSelections; @@ -5887,7 +5886,7 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)  			if (objectp->mDrawable->isState(LLDrawable::RIGGED))  			{ -				vobj->updateRiggedVolume(); +				vobj->updateRiggedVolume(true);  			}  		} @@ -5950,7 +5949,8 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)                      && objectp->mDrawable->getVOVolume()                       && objectp->mDrawable->getVOVolume()->isMesh())                  { -                    renderMeshSelection_f(node, objectp); +                    LLColor4 hlColor = objectp->isRootEdit() ? sParentColor : sChildColor; +                    renderMeshSelection_f(node, objectp, hlColor);                  }                  else                  { @@ -6003,12 +6003,13 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)  				{  					continue;  				} - +				 +				LLColor4 highlight_color = objectp->isRoot() ? sHighlightParentColor : sHighlightChildColor;  				if (objectp->mDrawable  					&& objectp->mDrawable->getVOVolume()  					&& objectp->mDrawable->getVOVolume()->isMesh())  				{ -					renderMeshSelection_f(node, objectp); +					renderMeshSelection_f(node, objectp, subtracting_from_selection ? LLColor4::red : highlight_color);  				}  				else if (subtracting_from_selection)  				{ @@ -6016,7 +6017,6 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)  				}  				else if (!objectp->isSelected())  				{ -					LLColor4 highlight_color = objectp->isRoot() ? sHighlightParentColor : sHighlightChildColor;  					node->renderOneSilhouette(highlight_color);  				}  			} | 
