aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorDiva Canto2011-06-07 19:36:04 -0700
committerDiva Canto2011-06-07 19:36:04 -0700
commit3307db5d4aedec5cc31541e9a28a95abdd4999d0 (patch)
tree86d7b644e3b2cb1c77fa6e2b5c9ea7223e8e64f8 /OpenSim/Region
parentThis makes the display names work better for foreigners (diff)
downloadopensim-SC-3307db5d4aedec5cc31541e9a28a95abdd4999d0.zip
opensim-SC-3307db5d4aedec5cc31541e9a28a95abdd4999d0.tar.gz
opensim-SC-3307db5d4aedec5cc31541e9a28a95abdd4999d0.tar.bz2
opensim-SC-3307db5d4aedec5cc31541e9a28a95abdd4999d0.tar.xz
This hopefully fixes all issues with online/offline notifications across grids. http://opensimulator.org/mantis/view.php?id=5528
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs2
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs11
2 files changed, 10 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
index f82716d..daee4ca 100644
--- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
@@ -830,10 +830,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
830 830
831 public bool LocalStatusNotification(UUID userID, UUID friendID, bool online) 831 public bool LocalStatusNotification(UUID userID, UUID friendID, bool online)
832 { 832 {
833 m_log.DebugFormat("[FRIENDS]: Local Status Notify {0} that user {1} is {2}", friendID, userID, online);
833 IClientAPI friendClient = LocateClientObject(friendID); 834 IClientAPI friendClient = LocateClientObject(friendID);
834 if (friendClient != null) 835 if (friendClient != null)
835 { 836 {
836 //m_log.DebugFormat("[FRIENDS]: Local Status Notify {0} that user {1} is {2}", friendID, userID, online);
837 // the friend in this sim as root agent 837 // the friend in this sim as root agent
838 if (online) 838 if (online)
839 friendClient.SendAgentOnline(new UUID[] { userID }); 839 friendClient.SendAgentOnline(new UUID[] { userID });
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs
index ddf9289..b9d6719 100644
--- a/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs
@@ -75,7 +75,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
75 /// <param name="friendID">friend whose status changed</param> 75 /// <param name="friendID">friend whose status changed</param>
76 /// <param name="online">status</param> 76 /// <param name="online">status</param>
77 /// <returns></returns> 77 /// <returns></returns>
78 public bool StatusNotify(UUID userID, UUID friendID, bool online) 78 public bool StatusNotify(UUID friendID, UUID userID, bool online)
79 { 79 {
80 return LocalStatusNotification(friendID, userID, online); 80 return LocalStatusNotification(friendID, userID, online);
81 } 81 }
@@ -279,7 +279,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
279 foreach (FriendInfo f in kvp.Value) 279 foreach (FriendInfo f in kvp.Value)
280 ids.Add(f.Friend); 280 ids.Add(f.Friend);
281 UserAgentServiceConnector uConn = new UserAgentServiceConnector(kvp.Key); 281 UserAgentServiceConnector uConn = new UserAgentServiceConnector(kvp.Key);
282 uConn.StatusNotification(ids, userID, online); 282 List<UUID> friendsOnline = uConn.StatusNotification(ids, userID, online);
283 // need to debug this here
284 if (online)
285 {
286 IClientAPI client = LocateClientObject(userID);
287 if (client != null)
288 client.SendAgentOnline(friendsOnline.ToArray());
289 }
283 } 290 }
284 } 291 }
285 } 292 }