diff options
| author | Graham Linden <graham@lindenlab.com> | 2013-07-02 13:12:08 -0700 | 
|---|---|---|
| committer | Graham Linden <graham@lindenlab.com> | 2013-07-02 13:12:08 -0700 | 
| commit | f1c04467f70ce7e5a048614fa7db631cd3a35a00 (patch) | |
| tree | d301f853010620feeb374f7490f21e1028cef868 | |
| parent | dd31d9941fe1bfbccdfd0428abbe803b6c495f6c (diff) | |
NORSPEC-292 fix issues with managing LLNetworkData::PARAMS_LIGHT_IMAGE when demoting spotlights by removing their tex
| -rwxr-xr-x | indra/newview/llpanelvolume.cpp | 13 | ||||
| -rwxr-xr-x | indra/newview/lltexturectrl.cpp | 13 | ||||
| -rwxr-xr-x | indra/newview/llvovolume.cpp | 6 | 
3 files changed, 27 insertions, 5 deletions
diff --git a/indra/newview/llpanelvolume.cpp b/indra/newview/llpanelvolume.cpp index 02d363d795..0b501f6a74 100755 --- a/indra/newview/llpanelvolume.cpp +++ b/indra/newview/llpanelvolume.cpp @@ -710,9 +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); +		LightTextureCtrl->setImageAssetID(LLUUID::null); +	} + +	LLVOVolume *volobjp = (LLVOVolume *) mObject.get(); +	if(volobjp) +	{ +		// Cancel the light texture as requested +		// NORSPEC-292 +		// +		volobjp->setLightTextureID(LLUUID::null); +		volobjp->setIsLight(TRUE,TRUE);  	}  } diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp index 4676f7b251..2b1ed5858a 100755 --- a/indra/newview/lltexturectrl.cpp +++ b/indra/newview/lltexturectrl.cpp @@ -133,7 +133,8 @@ public:  	PermissionMask 	getFilterPermMask();  	void updateFilterPermMask();  	void commitIfImmediateSet(); -	 +	void commitCancel(); +  	void onFilterEdit(const std::string& search_string );  	void setCanApply(bool can_preview, bool can_apply); @@ -706,6 +707,14 @@ void LLFloaterTexturePicker::commitIfImmediateSet()  	}  } +void LLFloaterTexturePicker::commitCancel() +{ +	if (!mNoCopyTextureSelected && mOwner && mCanApply) +	{ +		mOwner->onFloaterCommit(LLTextureCtrl::TEXTURE_CANCEL); +	} +} +  // static  void LLFloaterTexturePicker::onBtnSetToDefault(void* userdata)  { @@ -733,7 +742,7 @@ void LLFloaterTexturePicker::onBtnNone(void* userdata)  {  	LLFloaterTexturePicker* self = (LLFloaterTexturePicker*) userdata;  	self->setImageID( LLUUID::null ); -	self->commitIfImmediateSet(); +	self->commitCancel();  }  /* diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 685f854573..d890548710 100755 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -2590,6 +2590,7 @@ void LLVOVolume::setLightTextureID(LLUUID id)  		if (hasLightTexture())  		{  			setParameterEntryInUse(LLNetworkData::PARAMS_LIGHT_IMAGE, FALSE, true); +			parameterChanged(LLNetworkData::PARAMS_LIGHT_IMAGE, true);  			mLightTexture = NULL;  		}  	}		 @@ -2607,7 +2608,8 @@ void LLVOVolume::setSpotLightParams(LLVector3 params)  void LLVOVolume::setIsLight(BOOL is_light)  { -	if (is_light != getIsLight()) +	BOOL was_light = getIsLight(); +	if (is_light != was_light)  	{  		if (is_light)  		{ @@ -2792,7 +2794,7 @@ void LLVOVolume::updateSpotLightPriority()  bool LLVOVolume::isLightSpotlight() const  {  	LLLightImageParams* params = (LLLightImageParams*) getParameterEntry(LLNetworkData::PARAMS_LIGHT_IMAGE); -	if (params) +	if (params && getParameterEntryInUse(LLNetworkData::PARAMS_LIGHT_IMAGE))  	{  		return params->isLightSpotlight();  	}  | 
