aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Grid/MessagingServer/MessageService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Grid/MessagingServer/MessageService.cs')
-rw-r--r--OpenSim/Grid/MessagingServer/MessageService.cs31
1 files changed, 20 insertions, 11 deletions
diff --git a/OpenSim/Grid/MessagingServer/MessageService.cs b/OpenSim/Grid/MessagingServer/MessageService.cs
index 59fef7e..0abb89d 100644
--- a/OpenSim/Grid/MessagingServer/MessageService.cs
+++ b/OpenSim/Grid/MessagingServer/MessageService.cs
@@ -87,6 +87,8 @@ namespace OpenSim.Grid.MessagingServer
87 { 87 {
88 if (!m_presences.Contains(userpresence.agentData.AgentID)) 88 if (!m_presences.Contains(userpresence.agentData.AgentID))
89 m_presences.Add(userpresence.agentData.AgentID, userpresence); 89 m_presences.Add(userpresence.agentData.AgentID, userpresence);
90 else
91 m_presences[userpresence.agentData.AgentID] = userpresence;
90 } 92 }
91 93
92 List<FriendListItem> uFriendList = userpresence.friendData; 94 List<FriendListItem> uFriendList = userpresence.friendData;
@@ -132,18 +134,24 @@ namespace OpenSim.Grid.MessagingServer
132 UserAgentData p2Handle = m_userManager.GetUserAgentData(userpresence.agentData.AgentID); 134 UserAgentData p2Handle = m_userManager.GetUserAgentData(userpresence.agentData.AgentID);
133 if (p2Handle != null) 135 if (p2Handle != null)
134 { 136 {
135 137 if (userpresence.lookupUserRegionYN)
138 {
136 userpresence.regionData.regionHandle = p2Handle.Handle; 139 userpresence.regionData.regionHandle = p2Handle.Handle;
137 PresenceInformer friendlistupdater = new PresenceInformer(); 140 }
138 friendlistupdater.presence1 = friendpresence; 141 else
139 //friendlistupdater.gridserverurl = m_cfg.GridServerURL; 142 {
140 //friendlistupdater.gridserversendkey = m_cfg.GridSendKey; 143 userpresence.lookupUserRegionYN = true;
141 //friendlistupdater.gridserverrecvkey = m_cfg.GridRecvKey; 144 }
142 friendlistupdater.presence2 = userpresence; 145 PresenceInformer friendlistupdater = new PresenceInformer();
143 friendlistupdater.OnGetRegionData += GetRegionInfo; 146 friendlistupdater.presence1 = friendpresence;
144 friendlistupdater.OnDone += PresenceUpdateDone; 147 //friendlistupdater.gridserverurl = m_cfg.GridServerURL;
145 WaitCallback cb = new WaitCallback(friendlistupdater.go); 148 //friendlistupdater.gridserversendkey = m_cfg.GridSendKey;
146 ThreadPool.QueueUserWorkItem(cb); 149 //friendlistupdater.gridserverrecvkey = m_cfg.GridRecvKey;
150 friendlistupdater.presence2 = userpresence;
151 friendlistupdater.OnGetRegionData += GetRegionInfo;
152 friendlistupdater.OnDone += PresenceUpdateDone;
153 WaitCallback cb = new WaitCallback(friendlistupdater.go);
154 ThreadPool.QueueUserWorkItem(cb);
147 155
148 } 156 }
149 else 157 else
@@ -462,6 +470,7 @@ namespace OpenSim.Grid.MessagingServer
462 RegionProfileData riData = GetRegionInfo(regionHandle); 470 RegionProfileData riData = GetRegionInfo(regionHandle);
463 up.regionData = riData; 471 up.regionData = riData;
464 up.OnlineYN = true; 472 up.OnlineYN = true;
473 up.lookupUserRegionYN = false;
465 ProcessFriendListSubscriptions(up); 474 ProcessFriendListSubscriptions(up);
466 475
467 return new XmlRpcResponse(); 476 return new XmlRpcResponse();