* Apparently, sometimes texture entries come in from the wire with no default texture defined.. so apply better fallback protection against that. The net result is clients will have their selected textures set when they would have previously had an ignored exception.
parent
33dab49d22
commit
5097437e11
|
@ -4503,8 +4503,25 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
Changed changeFlags = 0;
|
Changed changeFlags = 0;
|
||||||
|
|
||||||
|
Primitive.TextureEntryFace fallbackNewFace = newTex.DefaultTexture;
|
||||||
|
Primitive.TextureEntryFace fallbackOldFace = oldTex.DefaultTexture;
|
||||||
|
|
||||||
|
// On Incoming packets, sometimes newText.DefaultTexture is null. The assumption is that all
|
||||||
|
// other prim-sides are set, but apparently that's not always the case. Lets assume packet/data corruption at this point.
|
||||||
|
if (fallbackNewFace == null)
|
||||||
|
{
|
||||||
|
fallbackNewFace = new Primitive.TextureEntry(Util.BLANK_TEXTURE_UUID).CreateFace(0);
|
||||||
|
newTex.DefaultTexture = fallbackNewFace;
|
||||||
|
}
|
||||||
|
if (fallbackOldFace == null)
|
||||||
|
{
|
||||||
|
fallbackOldFace = new Primitive.TextureEntry(Util.BLANK_TEXTURE_UUID).CreateFace(0);
|
||||||
|
oldTex.DefaultTexture = fallbackOldFace;
|
||||||
|
}
|
||||||
|
|
||||||
for (int i = 0 ; i < GetNumberOfSides(); i++)
|
for (int i = 0 ; i < GetNumberOfSides(); i++)
|
||||||
{
|
{
|
||||||
|
|
||||||
Primitive.TextureEntryFace newFace = newTex.DefaultTexture;
|
Primitive.TextureEntryFace newFace = newTex.DefaultTexture;
|
||||||
Primitive.TextureEntryFace oldFace = oldTex.DefaultTexture;
|
Primitive.TextureEntryFace oldFace = oldTex.DefaultTexture;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue