diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index e22cf47..b8c209e 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -4959,8 +4959,25 @@ namespace OpenSim.Region.Framework.Scenes | |||
4959 | 4959 | ||
4960 | Changed changeFlags = 0; | 4960 | Changed changeFlags = 0; |
4961 | 4961 | ||
4962 | Primitive.TextureEntryFace fallbackNewFace = newTex.DefaultTexture; | ||
4963 | Primitive.TextureEntryFace fallbackOldFace = oldTex.DefaultTexture; | ||
4964 | |||
4965 | // On Incoming packets, sometimes newText.DefaultTexture is null. The assumption is that all | ||
4966 | // other prim-sides are set, but apparently that's not always the case. Lets assume packet/data corruption at this point. | ||
4967 | if (fallbackNewFace == null) | ||
4968 | { | ||
4969 | fallbackNewFace = new Primitive.TextureEntry(Util.BLANK_TEXTURE_UUID).CreateFace(0); | ||
4970 | newTex.DefaultTexture = fallbackNewFace; | ||
4971 | } | ||
4972 | if (fallbackOldFace == null) | ||
4973 | { | ||
4974 | fallbackOldFace = new Primitive.TextureEntry(Util.BLANK_TEXTURE_UUID).CreateFace(0); | ||
4975 | oldTex.DefaultTexture = fallbackOldFace; | ||
4976 | } | ||
4977 | |||
4962 | for (int i = 0 ; i < GetNumberOfSides(); i++) | 4978 | for (int i = 0 ; i < GetNumberOfSides(); i++) |
4963 | { | 4979 | { |
4980 | |||
4964 | Primitive.TextureEntryFace newFace = newTex.DefaultTexture; | 4981 | Primitive.TextureEntryFace newFace = newTex.DefaultTexture; |
4965 | Primitive.TextureEntryFace oldFace = oldTex.DefaultTexture; | 4982 | Primitive.TextureEntryFace oldFace = oldTex.DefaultTexture; |
4966 | 4983 | ||