diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index cce8b21..a8b63fe 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -129,6 +129,27 @@ namespace OpenSim.Region.Framework.Scenes | |||
129 | /// Dynamic attributes can be created and deleted as required. | 129 | /// Dynamic attributes can be created and deleted as required. |
130 | /// </summary> | 130 | /// </summary> |
131 | public DAMap DynAttrs { get; set; } | 131 | public DAMap DynAttrs { get; set; } |
132 | |||
133 | private DOMap m_dynObjs; | ||
134 | |||
135 | /// <summary> | ||
136 | /// Dynamic objects that can be created and deleted as required. | ||
137 | /// </summary> | ||
138 | public DOMap DynObjs | ||
139 | { | ||
140 | get | ||
141 | { | ||
142 | if (m_dynObjs == null) | ||
143 | m_dynObjs = new DOMap(); | ||
144 | |||
145 | return m_dynObjs; | ||
146 | } | ||
147 | |||
148 | set | ||
149 | { | ||
150 | m_dynObjs = value; | ||
151 | } | ||
152 | } | ||
132 | 153 | ||
133 | /// <value> | 154 | /// <value> |
134 | /// Is this a root part? | 155 | /// Is this a root part? |
@@ -4503,8 +4524,25 @@ namespace OpenSim.Region.Framework.Scenes | |||
4503 | 4524 | ||
4504 | Changed changeFlags = 0; | 4525 | Changed changeFlags = 0; |
4505 | 4526 | ||
4527 | Primitive.TextureEntryFace fallbackNewFace = newTex.DefaultTexture; | ||
4528 | Primitive.TextureEntryFace fallbackOldFace = oldTex.DefaultTexture; | ||
4529 | |||
4530 | // On Incoming packets, sometimes newText.DefaultTexture is null. The assumption is that all | ||
4531 | // other prim-sides are set, but apparently that's not always the case. Lets assume packet/data corruption at this point. | ||
4532 | if (fallbackNewFace == null) | ||
4533 | { | ||
4534 | fallbackNewFace = new Primitive.TextureEntry(Util.BLANK_TEXTURE_UUID).CreateFace(0); | ||
4535 | newTex.DefaultTexture = fallbackNewFace; | ||
4536 | } | ||
4537 | if (fallbackOldFace == null) | ||
4538 | { | ||
4539 | fallbackOldFace = new Primitive.TextureEntry(Util.BLANK_TEXTURE_UUID).CreateFace(0); | ||
4540 | oldTex.DefaultTexture = fallbackOldFace; | ||
4541 | } | ||
4542 | |||
4506 | for (int i = 0 ; i < GetNumberOfSides(); i++) | 4543 | for (int i = 0 ; i < GetNumberOfSides(); i++) |
4507 | { | 4544 | { |
4545 | |||
4508 | Primitive.TextureEntryFace newFace = newTex.DefaultTexture; | 4546 | Primitive.TextureEntryFace newFace = newTex.DefaultTexture; |
4509 | Primitive.TextureEntryFace oldFace = oldTex.DefaultTexture; | 4547 | Primitive.TextureEntryFace oldFace = oldTex.DefaultTexture; |
4510 | 4548 | ||