From c46b70c25770a7421486498df6a280c00bae5a2d Mon Sep 17 00:00:00 2001
From: Graham Linden <graham@lindenlab.com>
Date: Fri, 31 Aug 2018 16:33:57 +0100
Subject: Null out shader pointers after passes are complete (prevents them
 being non-null and masking crashes when graphics prefs change).

---
 indra/newview/lldrawpoolwlsky.cpp | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/indra/newview/lldrawpoolwlsky.cpp b/indra/newview/lldrawpoolwlsky.cpp
index 4bf47f4fd6..9defc33e30 100644
--- a/indra/newview/lldrawpoolwlsky.cpp
+++ b/indra/newview/lldrawpoolwlsky.cpp
@@ -91,6 +91,10 @@ void LLDrawPoolWLSky::beginRenderPass( S32 pass )
 
 void LLDrawPoolWLSky::endRenderPass( S32 pass )
 {
+    sky_shader   = nullptr;
+	cloud_shader = nullptr;
+    sun_shader   = nullptr;
+    moon_shader  = nullptr;
 }
 
 void LLDrawPoolWLSky::beginDeferredPass(S32 pass)
@@ -111,7 +115,10 @@ void LLDrawPoolWLSky::beginDeferredPass(S32 pass)
 
 void LLDrawPoolWLSky::endDeferredPass(S32 pass)
 {
-
+    sky_shader   = nullptr;
+	cloud_shader = nullptr;
+    sun_shader   = nullptr;
+    moon_shader  = nullptr;
 }
 
 void LLDrawPoolWLSky::renderFsSky(const LLVector3& camPosLocal, F32 camHeightLocal, LLGLSLShader * shader) const
-- 
cgit v1.2.3