From f4e303c067bbf4fdad2fe8f8c02878bee3b74cb0 Mon Sep 17 00:00:00 2001
From: andreykproductengine <andreykproductengine@lindenlab.com>
Date: Thu, 21 Sep 2017 17:01:45 +0300
Subject: MAINT-1209 Fixed Light does not revert to a simple light when texture
 is set to none

---
 indra/newview/llpanelvolume.cpp | 19 ++++++++-----------
 indra/newview/llpanelvolume.h   |  1 -
 2 files changed, 8 insertions(+), 12 deletions(-)

(limited to 'indra')

diff --git a/indra/newview/llpanelvolume.cpp b/indra/newview/llpanelvolume.cpp
index c9f8683e0e..b1895bfc9b 100644
--- a/indra/newview/llpanelvolume.cpp
+++ b/indra/newview/llpanelvolume.cpp
@@ -710,22 +710,20 @@ void LLPanelVolume::onLightCancelColor(const LLSD& data)
 void LLPanelVolume::onLightCancelTexture(const LLSD& data)
 {
 	LLTextureCtrl* LightTextureCtrl = getChild<LLTextureCtrl>("light texture control");
-
-	if (LightTextureCtrl)
-	{
-        LightTextureCtrl->setImageAssetID(mLightSavedTexture);
-	}
-
 	LLVOVolume *volobjp = (LLVOVolume *) mObject.get();
-	if(volobjp)
+
+	if (volobjp && LightTextureCtrl)
 	{
 		// Cancel the light texture as requested
 		// NORSPEC-292
-		//
+        //
+        // Texture picker triggers cancel both in case of actual cancel and in case of
+        // selection of "None" texture.
+        LLUUID tex_id = LightTextureCtrl->getImageAssetID();
         bool is_spotlight = volobjp->isLightSpotlight();
-        volobjp->setLightTextureID(mLightSavedTexture); //updates spotlight
+        volobjp->setLightTextureID(tex_id); //updates spotlight
 
-        if (!is_spotlight && mLightSavedTexture.notNull())
+        if (!is_spotlight && tex_id.notNull())
         {
             LLVector3 spot_params = volobjp->getSpotLightParams();
             getChild<LLUICtrl>("Light FOV")->setValue(spot_params.mV[0]);
@@ -769,7 +767,6 @@ void LLPanelVolume::onLightSelectTexture(const LLSD& data)
 	{
 		LLUUID id = LightTextureCtrl->getImageAssetID();
 		volobjp->setLightTextureID(id);
-		mLightSavedTexture = id;
 	}
 }
 
diff --git a/indra/newview/llpanelvolume.h b/indra/newview/llpanelvolume.h
index deb6b6f2a6..e3453ae99c 100644
--- a/indra/newview/llpanelvolume.h
+++ b/indra/newview/llpanelvolume.h
@@ -111,7 +111,6 @@ protected:
 	
 
 	LLColor4		mLightSavedColor;
-	LLUUID			mLightSavedTexture;
 	LLPointer<LLViewerObject> mObject;
 	LLPointer<LLViewerObject> mRootObject;
 
-- 
cgit v1.2.3