diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index ff89ef9..08de087 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -1220,11 +1220,16 @@ namespace OpenSim.Region.Environment.Scenes | |||
1220 | /// <param name="part"></param> | 1220 | /// <param name="part"></param> |
1221 | internal void SendPartTerseUpdate(IClientAPI remoteClient, SceneObjectPart part) | 1221 | internal void SendPartTerseUpdate(IClientAPI remoteClient, SceneObjectPart part) |
1222 | { | 1222 | { |
1223 | if (m_rootPart.UUID == part.UUID) | 1223 | SceneObjectPart rootPart = m_rootPart; |
1224 | |||
1225 | // TODO: that could by caused by some race condition with attachments on sim-crossing | ||
1226 | if (rootPart == null) return; | ||
1227 | |||
1228 | if (rootPart.UUID == part.UUID) | ||
1224 | { | 1229 | { |
1225 | if (m_rootPart.IsAttachment) | 1230 | if (rootPart.IsAttachment) |
1226 | { | 1231 | { |
1227 | part.SendTerseUpdateToClient(remoteClient, m_rootPart.AttachedPos); | 1232 | part.SendTerseUpdateToClient(remoteClient, rootPart.AttachedPos); |
1228 | } | 1233 | } |
1229 | else | 1234 | else |
1230 | { | 1235 | { |