diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs index 31ffc4dea8..7a2a46e6d3 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs @@ -572,10 +572,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends { m_log.DebugFormat("[FRIENDS]: {0} accepted friendship from {1}", client.AgentId, friendID); - AddFriend(client, friendID); + AddFriendship(client, friendID); } - public void AddFriend(IClientAPI client, UUID friendID) + public void AddFriendship(IClientAPI client, UUID friendID) { StoreFriendships(client.AgentId, friendID); diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/Tests/FriendModuleTests.cs b/OpenSim/Region/CoreModules/Avatar/Friends/Tests/FriendModuleTests.cs index 942091c4c1..c945dcf12c 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/Tests/FriendModuleTests.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/Tests/FriendModuleTests.cs @@ -87,8 +87,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends.Tests ScenePresence sp = SceneHelpers.AddScenePresence(m_scene, userId); SceneHelpers.AddScenePresence(m_scene, user2Id); - // This friendship is currently only one-way, which might be pathalogical in Second Life. - m_fm.AddFriend(sp.ControllingClient, user2Id); + // This fiendship is two-way but without a connector, only the first user will receive the online + // notification. + m_fm.AddFriendship(sp.ControllingClient, user2Id); Assert.That(((TestClient)sp.ControllingClient).OfflineNotificationsReceived.Count, Is.EqualTo(0)); Assert.That(((TestClient)sp.ControllingClient).OnlineNotificationsReceived.Count, Is.EqualTo(1)); diff --git a/OpenSim/Region/Framework/Interfaces/IFriendsModule.cs b/OpenSim/Region/Framework/Interfaces/IFriendsModule.cs index 8143164283..fdede340fc 100644 --- a/OpenSim/Region/Framework/Interfaces/IFriendsModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IFriendsModule.cs @@ -34,18 +34,15 @@ namespace OpenSim.Region.Framework.Interfaces public interface IFriendsModule { /// - /// Add a friend for the given user. + /// Add a friendship between two users. /// /// - /// This is a one-way friendship. To make a two way friendship you will need to call this again with the - /// client and friend reversed. - /// /// Ultimately, it would be more useful to take in a user account here rather than having to have a user /// present in the scene. /// /// /// - void AddFriend(IClientAPI client, UUID friendID); + void AddFriendship(IClientAPI client, UUID friendID); uint GetFriendPerms(UUID PrincipalID, UUID FriendID); bool SendFriendsOnlineIfNeeded(IClientAPI client);