From 3307db5d4aedec5cc31541e9a28a95abdd4999d0 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 7 Jun 2011 19:36:04 -0700 Subject: This hopefully fixes all issues with online/offline notifications across grids. http://opensimulator.org/mantis/view.php?id=5528 --- .../Handlers/Hypergrid/UserAgentServerConnector.cs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs') diff --git a/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs b/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs index 2022d8a..72a4aea 100644 --- a/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs +++ b/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs @@ -237,10 +237,20 @@ namespace OpenSim.Server.Handlers.Hypergrid bool online = false; bool.TryParse(requestData["online"].ToString(), out online); - hash["result"] = "true"; - // let's spawn a thread for this, because it may take a long time... - Util.FireAndForget(delegate { m_HomeUsersService.StatusNotification(ids, userID, online); }); + List friendsOnline = m_HomeUsersService.StatusNotification(ids, userID, online); + if (friendsOnline.Count > 0) + { + int i = 0; + foreach (UUID id in friendsOnline) + { + hash["friend_" + i.ToString()] = id.ToString(); + i++; + } + } + else + hash["result"] = "No Friends Online"; + } XmlRpcResponse response = new XmlRpcResponse(); -- cgit v1.1