aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs5
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs5
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs4
3 files changed, 13 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index f39a0e6..b54713f 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -2015,7 +2015,7 @@ namespace OpenSim.Region.Environment.Scenes
2015 "[SCENE]: Adding new {0} agent {1} {2} in {3}", 2015 "[SCENE]: Adding new {0} agent {1} {2} in {3}",
2016 (child ? "child" : "root"), client.Name, client.AgentId, RegionInfo.RegionName); 2016 (child ? "child" : "root"), client.Name, client.AgentId, RegionInfo.RegionName);
2017 2017
2018 CommsManager.UserProfileCacheService.AddNewUser(client); 2018 CommsManager.UserProfileCacheService.AddNewUser(client.AgentId);
2019 2019
2020 CreateAndAddScenePresence(client, child); 2020 CreateAndAddScenePresence(client, child);
2021 } 2021 }
@@ -2455,6 +2455,9 @@ namespace OpenSim.Region.Environment.Scenes
2455 agent.circuitcode, agent.AgentID, RegionInfo.RegionName); 2455 agent.circuitcode, agent.AgentID, RegionInfo.RegionName);
2456 2456
2457 m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent); 2457 m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent);
2458 // rewrite session_id
2459 CachedUserInfo userinfo = CommsManager.UserProfileCacheService.GetUserDetails(agent.AgentID);
2460 userinfo.SessionID = agent.SessionID;
2458 } 2461 }
2459 else 2462 else
2460 { 2463 {
diff --git a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
index cb37faf..348b643 100644
--- a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
@@ -627,6 +627,11 @@ namespace OpenSim.Region.Environment.Scenes
627 { 627 {
628 SendCloseChildAgentConnections(avatar.UUID,avatar.GetKnownRegionList()); 628 SendCloseChildAgentConnections(avatar.UUID,avatar.GetKnownRegionList());
629 } 629 }
630 // if (teleport success) // seems to be always success here
631 // the user may change thier profile information in other region,
632 // so the userinfo in UserProfileCache is not reliable any more, delete it
633 m_commsProvider.UserProfileCacheService.RemoveUser(avatar.UUID);
634 m_log.InfoFormat("User {0} is going to another region, profile cache removed", avatar.UUID);
630 } 635 }
631 else 636 else
632 { 637 {
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index 1721acb..5c90bf3 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -1989,6 +1989,10 @@ namespace OpenSim.Region.Environment.Scenes
1989 1989
1990 m_scene.SendKillObject(m_localId); 1990 m_scene.SendKillObject(m_localId);
1991 m_scene.NotifyMyCoarseLocationChange(); 1991 m_scene.NotifyMyCoarseLocationChange();
1992 // the user may change thier profile information in other region,
1993 // so the userinfo in UserProfileCache is not reliable any more, delete it
1994 m_scene.CommsManager.UserProfileCacheService.RemoveUser(UUID);
1995 m_log.InfoFormat("User {0} is going to another region, profile cache removed", UUID);
1992 } 1996 }
1993 else 1997 else
1994 { 1998 {