diff options
author | diva | 2009-01-03 16:18:20 +0000 |
---|---|---|
committer | diva | 2009-01-03 16:18:20 +0000 |
commit | f1b9ff6b4b9bd96c7193a0dd7ed4c79016355729 (patch) | |
tree | 43a125e3133aa134758aa728e483702fe218a61a /OpenSim/Region/Communications | |
parent | This may fix the home jump problem. (diff) | |
download | opensim-SC-f1b9ff6b4b9bd96c7193a0dd7ed4c79016355729.zip opensim-SC-f1b9ff6b4b9bd96c7193a0dd7ed4c79016355729.tar.gz opensim-SC-f1b9ff6b4b9bd96c7193a0dd7ed4c79016355729.tar.bz2 opensim-SC-f1b9ff6b4b9bd96c7193a0dd7ed4c79016355729.tar.xz |
Fixed logic for sending foreign user information (HG).
Diffstat (limited to 'OpenSim/Region/Communications')
-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; |