diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Communications/Hypergrid/HGGridServices.cs | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/OpenSim/Region/Communications/Hypergrid/HGGridServices.cs b/OpenSim/Region/Communications/Hypergrid/HGGridServices.cs index fc68ba2..0874676 100644 --- a/OpenSim/Region/Communications/Hypergrid/HGGridServices.cs +++ b/OpenSim/Region/Communications/Hypergrid/HGGridServices.cs | |||
@@ -893,20 +893,31 @@ namespace OpenSim.Region.Communications.Hypergrid | |||
893 | public bool SendUserInformation(RegionInfo regInfo, AgentCircuitData agentData) | 893 | public bool SendUserInformation(RegionInfo regInfo, AgentCircuitData agentData) |
894 | { | 894 | { |
895 | CachedUserInfo uinfo = m_userProfileCache.GetUserDetails(agentData.AgentID); | 895 | CachedUserInfo uinfo = m_userProfileCache.GetUserDetails(agentData.AgentID); |
896 | if ((uinfo == null) || !IsGoingHome(uinfo, regInfo)) | 896 | |
897 | if ((IsLocalUser(uinfo) && IsHyperlinkRegion(regInfo.RegionHandle)) || | ||
898 | (!IsLocalUser(uinfo) && !IsGoingHome(uinfo, regInfo))) | ||
897 | { | 899 | { |
898 | m_log.Info("[HGrid]: User seems to be going to foreign region " + uinfo.UserProfile.FirstName + " " + uinfo.UserProfile.SurName); | 900 | m_log.Info("[HGrid]: Local user is going to foreign region or foreign user is going elsewhere"); |
899 | if (!InformRegionOfUser(regInfo, agentData)) | 901 | if (!InformRegionOfUser(regInfo, agentData)) |
900 | { | 902 | { |
901 | m_log.Warn("[HGrid]: Could not inform remote region of transferring user."); | 903 | m_log.Warn("[HGrid]: Could not inform remote region of transferring user."); |
902 | return false; | 904 | return false; |
903 | } | 905 | } |
904 | } | 906 | } |
905 | else | 907 | //if ((uinfo == null) || !IsGoingHome(uinfo, regInfo)) |
906 | m_log.Info("[HGrid]: User seems to be going home " + uinfo.UserProfile.FirstName + " " + uinfo.UserProfile.SurName); | 908 | //{ |
909 | // m_log.Info("[HGrid]: User seems to be going to foreign region."); | ||
910 | // if (!InformRegionOfUser(regInfo, agentData)) | ||
911 | // { | ||
912 | // m_log.Warn("[HGrid]: Could not inform remote region of transferring user."); | ||
913 | // return false; | ||
914 | // } | ||
915 | //} | ||
916 | //else | ||
917 | // m_log.Info("[HGrid]: User seems to be going home " + uinfo.UserProfile.FirstName + " " + uinfo.UserProfile.SurName); | ||
907 | 918 | ||
908 | // May need to change agent's name | 919 | // May need to change agent's name |
909 | if (IsLocalUser(uinfo)) | 920 | if (IsLocalUser(uinfo) && IsHyperlinkRegion(regInfo.RegionHandle)) |
910 | { | 921 | { |
911 | agentData.firstname = agentData.firstname + "." + agentData.lastname; | 922 | agentData.firstname = agentData.firstname + "." + agentData.lastname; |
912 | agentData.lastname = "@" + serversInfo.UserURL.Replace("http://", ""); ; //HGNetworkServersInfo.Singleton.LocalUserServerURI; | 923 | agentData.lastname = "@" + serversInfo.UserURL.Replace("http://", ""); ; //HGNetworkServersInfo.Singleton.LocalUserServerURI; |