diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 5 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | 5 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/ScenePresence.cs | 4 |
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 | { |