aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs33
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs4
2 files changed, 19 insertions, 18 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index a3ea7d9..a3bd388 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -4325,24 +4325,25 @@ namespace OpenSim.Region.Framework.Scenes
4325 ScenePresence childAgentUpdate = GetScenePresence(cAgentData.AgentID); 4325 ScenePresence childAgentUpdate = GetScenePresence(cAgentData.AgentID);
4326 if (childAgentUpdate != null) 4326 if (childAgentUpdate != null)
4327 { 4327 {
4328 if (childAgentUpdate.ControllingClient.SessionId == cAgentData.SessionID) 4328 if (childAgentUpdate.ControllingClient.SessionId != cAgentData.SessionID)
4329 // Only warn for now
4330 m_log.WarnFormat("[SCENE]: Attempt at updating position of agent {0} with invalid session id {1}. Neighbor running older version?",
4331 childAgentUpdate.UUID, cAgentData.SessionID);
4332
4333 // I can't imagine *yet* why we would get an update if the agent is a root agent..
4334 // however to avoid a race condition crossing borders..
4335 if (childAgentUpdate.IsChildAgent)
4329 { 4336 {
4330 // I can't imagine *yet* why we would get an update if the agent is a root agent.. 4337 uint rRegionX = (uint)(cAgentData.RegionHandle >> 40);
4331 // however to avoid a race condition crossing borders.. 4338 uint rRegionY = (((uint)(cAgentData.RegionHandle)) >> 8);
4332 if (childAgentUpdate.IsChildAgent) 4339 uint tRegionX = RegionInfo.RegionLocX;
4333 { 4340 uint tRegionY = RegionInfo.RegionLocY;
4334 uint rRegionX = (uint)(cAgentData.RegionHandle >> 40); 4341 //Send Data to ScenePresence
4335 uint rRegionY = (((uint)(cAgentData.RegionHandle)) >> 8); 4342 childAgentUpdate.ChildAgentDataUpdate(cAgentData, tRegionX, tRegionY, rRegionX, rRegionY);
4336 uint tRegionX = RegionInfo.RegionLocX; 4343 // Not Implemented:
4337 uint tRegionY = RegionInfo.RegionLocY; 4344 //TODO: Do we need to pass the message on to one of our neighbors?
4338 //Send Data to ScenePresence
4339 childAgentUpdate.ChildAgentDataUpdate(cAgentData, tRegionX, tRegionY, rRegionX, rRegionY);
4340 // Not Implemented:
4341 //TODO: Do we need to pass the message on to one of our neighbors?
4342 }
4343 } 4345 }
4344 else 4346
4345 m_log.WarnFormat("[SCENE]: Attempt at updating position of agent {0} with invalid session id {1}", childAgentUpdate.UUID, cAgentData.SessionID);
4346 return true; 4347 return true;
4347 } 4348 }
4348 4349
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index bdcdf03..aac80f7 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -309,9 +309,9 @@ namespace OpenSim.Region.Framework.Scenes
309 /// <summary> 309 /// <summary>
310 /// In the V1 teleport protocol, the destination simulator sends ReleaseAgent to this address. 310 /// In the V1 teleport protocol, the destination simulator sends ReleaseAgent to this address.
311 /// </summary> 311 /// </summary>
312 string m_callbackURI; 312 private string m_callbackURI;
313 313
314 UUID m_originRegionID; 314 public UUID m_originRegionID;
315 315
316 /// <summary> 316 /// <summary>
317 /// Used by the entity transfer module to signal when the presence should not be closed because a subsequent 317 /// Used by the entity transfer module to signal when the presence should not be closed because a subsequent