diff options
author | Mic Bowman | 2011-08-23 10:52:12 -0700 |
---|---|---|
committer | Mic Bowman | 2011-08-23 10:52:12 -0700 |
commit | ce011d7e446e8f05247fc4ed7e0af5a94afbb074 (patch) | |
tree | 32d7be949730f5174a834d1abc590ba3f8586c3f | |
parent | Remove pointless contains check in ScenePresence.RemoveAttachment() (diff) | |
download | opensim-SC_OLD-ce011d7e446e8f05247fc4ed7e0af5a94afbb074.zip opensim-SC_OLD-ce011d7e446e8f05247fc4ed7e0af5a94afbb074.tar.gz opensim-SC_OLD-ce011d7e446e8f05247fc4ed7e0af5a94afbb074.tar.bz2 opensim-SC_OLD-ce011d7e446e8f05247fc4ed7e0af5a94afbb074.tar.xz |
Protect a check for default texture entry when setting alpha values. Apparently
if all faces have their own textures then the default texture is null
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index ef67a0c..24be7d4 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -1619,9 +1619,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1619 | tex.FaceTextures[i].RGBA = texcolor; | 1619 | tex.FaceTextures[i].RGBA = texcolor; |
1620 | } | 1620 | } |
1621 | } | 1621 | } |
1622 | texcolor = tex.DefaultTexture.RGBA; | 1622 | |
1623 | texcolor.A = Util.Clip((float)alpha, 0.0f, 1.0f); | 1623 | // In some cases, the default texture can be null, eg when every face |
1624 | tex.DefaultTexture.RGBA = texcolor; | 1624 | // has a unique texture |
1625 | if (tex.DefaultTexture != null) | ||
1626 | { | ||
1627 | texcolor = tex.DefaultTexture.RGBA; | ||
1628 | texcolor.A = Util.Clip((float)alpha, 0.0f, 1.0f); | ||
1629 | tex.DefaultTexture.RGBA = texcolor; | ||
1630 | } | ||
1631 | |||
1625 | part.UpdateTexture(tex); | 1632 | part.UpdateTexture(tex); |
1626 | return; | 1633 | return; |
1627 | } | 1634 | } |