From 552267f1c9e95a9b10f03421aa8a37a1048c661c Mon Sep 17 00:00:00 2001
From: Graham Linden <graham@lindenlab.com>
Date: Mon, 4 Mar 2019 09:50:11 -0800
Subject: [PATCH] Fix unused local var 'partition' and avoid assert in
 rendering highlights.

---
 indra/newview/lldrawpoolalpha.cpp | 12 ++++++------
 indra/newview/pipeline.cpp        | 10 ++++++++++
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp
index 84f94d44977..82a95ac7a82 100644
--- a/indra/newview/lldrawpoolalpha.cpp
+++ b/indra/newview/lldrawpoolalpha.cpp
@@ -545,10 +545,10 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask, S32 pass)
         LLSpatialPartition* partition = group->getSpatialPartition();
 		llassert(partition);
 
-		if (group->getSpatialPartition()->mRenderByGroup && !group->isDead())
+		if (partition->mRenderByGroup && !group->isDead())
 		{
-			bool is_particle_or_hud_particle = group->getSpatialPartition()->mPartitionType == LLViewerRegion::PARTITION_PARTICLE
-											|| group->getSpatialPartition()->mPartitionType == LLViewerRegion::PARTITION_HUD_PARTICLE;
+			bool is_particle_or_hud_particle = partition->mPartitionType == LLViewerRegion::PARTITION_PARTICLE
+											|| partition->mPartitionType == LLViewerRegion::PARTITION_HUD_PARTICLE;
 
             std::vector<LLDrawInfo*>* fullbrights = is_particle_or_hud_particle ? &fullbrights_hud : &fullbrights_3d;
             std::vector<LLDrawInfo*>* materials   = is_particle_or_hud_particle ? &materials_hud   : &materials_3d;
@@ -590,9 +590,9 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask, S32 pass)
     renderFullbrights(mask, fullbrights_hud);
     renderMaterials(mask, materials_hud);
     renderEmissives(mask, emissives_hud);
-
-    LLGLSLShader::bindNoShader();
-    current_shader = NULL;
+    
+    simple_shader->bind();
+    current_shader = simple_shader;
 
 	gGL.setSceneBlendType(LLRender::BT_ALPHA);
 
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 4bebf39dbc2..fe14d254b46 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -9962,6 +9962,16 @@ bool LLPipeline::getVisiblePointCloud(LLCamera& camera, LLVector3& min, LLVector
 
 void LLPipeline::renderHighlight(const LLViewerObject* obj, F32 fade)
 {
+    BOOL shaders = canUseVertexShaders();
+	if(shaders) 
+	{
+		gHighlightProgram.bind();
+	}
+	else
+	{
+		gPipeline.enableLightsFullbright(LLColor4(1,1,1,1));
+	}
+
     if (obj && obj->getVolume())
     {
         for (LLViewerObject::child_list_t::const_iterator iter = obj->getChildren().begin(); iter != obj->getChildren().end(); ++iter)
-- 
GitLab