diff options
author | Diva Canto | 2013-06-07 16:01:07 -0700 |
---|---|---|
committer | Diva Canto | 2013-06-07 16:01:07 -0700 |
commit | 6aa54a8e168edc40cf85672b2c6edced7db80266 (patch) | |
tree | 4ab029b42ecf359794755bcc48bcb950c77b6c5a /OpenSim | |
parent | Put the configuration back in FetchInventoryDesc2 cap. (diff) | |
parent | minor: Comment out debug logging (at warn level) about number of objects forc... (diff) | |
download | opensim-SC_OLD-6aa54a8e168edc40cf85672b2c6edced7db80266.zip opensim-SC_OLD-6aa54a8e168edc40cf85672b2c6edced7db80266.tar.gz opensim-SC_OLD-6aa54a8e168edc40cf85672b2c6edced7db80266.tar.bz2 opensim-SC_OLD-6aa54a8e168edc40cf85672b2c6edced7db80266.tar.xz |
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Diffstat (limited to 'OpenSim')
4 files changed, 11 insertions, 6 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index e47397d..9784d15 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -4828,7 +4828,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4828 | 4828 | ||
4829 | public void SendForceClientSelectObjects(List<uint> ObjectIDs) | 4829 | public void SendForceClientSelectObjects(List<uint> ObjectIDs) |
4830 | { | 4830 | { |
4831 | m_log.WarnFormat("[LLCLIENTVIEW] sending select with {0} objects", ObjectIDs.Count); | 4831 | // m_log.DebugFormat("[LLCLIENTVIEW] sending select with {0} objects", ObjectIDs.Count); |
4832 | 4832 | ||
4833 | bool firstCall = true; | 4833 | bool firstCall = true; |
4834 | const int MAX_OBJECTS_PER_PACKET = 251; | 4834 | const int MAX_OBJECTS_PER_PACKET = 251; |
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs index 4613344..41ea2a2 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs | |||
@@ -685,7 +685,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
685 | // | 685 | // |
686 | 686 | ||
687 | // Try local | 687 | // Try local |
688 | if (LocalFriendshipTerminated(exfriendID)) | 688 | if (LocalFriendshipTerminated(client.AgentId, exfriendID)) |
689 | return; | 689 | return; |
690 | 690 | ||
691 | PresenceInfo[] friendSessions = PresenceService.GetAgents(new string[] { exfriendID.ToString() }); | 691 | PresenceInfo[] friendSessions = PresenceService.GetAgents(new string[] { exfriendID.ToString() }); |
@@ -827,13 +827,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
827 | return false; | 827 | return false; |
828 | } | 828 | } |
829 | 829 | ||
830 | public bool LocalFriendshipTerminated(UUID exfriendID) | 830 | public bool LocalFriendshipTerminated(UUID userID, UUID exfriendID) |
831 | { | 831 | { |
832 | IClientAPI friendClient = LocateClientObject(exfriendID); | 832 | IClientAPI friendClient = LocateClientObject(exfriendID); |
833 | if (friendClient != null) | 833 | if (friendClient != null) |
834 | { | 834 | { |
835 | // the friend in this sim as root agent | 835 | // the friend in this sim as root agent |
836 | friendClient.SendTerminateFriend(exfriendID); | 836 | friendClient.SendTerminateFriend(userID); |
837 | // update local cache | 837 | // update local cache |
838 | RecacheFriends(friendClient); | 838 | RecacheFriends(friendClient); |
839 | // we're done | 839 | // we're done |
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsRequestHandler.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsRequestHandler.cs index 637beef..08196f1 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsRequestHandler.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsRequestHandler.cs | |||
@@ -193,7 +193,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
193 | if (!UUID.TryParse(request["ToID"].ToString(), out toID)) | 193 | if (!UUID.TryParse(request["ToID"].ToString(), out toID)) |
194 | return FailureResult(); | 194 | return FailureResult(); |
195 | 195 | ||
196 | if (m_FriendsModule.LocalFriendshipTerminated(toID)) | 196 | if (m_FriendsModule.LocalFriendshipTerminated(fromID, toID)) |
197 | return SuccessResult(); | 197 | return SuccessResult(); |
198 | 198 | ||
199 | return FailureResult(); | 199 | return FailureResult(); |
diff --git a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs index 8c84c98..8238e23 100644 --- a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs | |||
@@ -222,7 +222,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
222 | public void SendCloseChildAgentConnections(UUID agentID, List<ulong> regionslst) | 222 | public void SendCloseChildAgentConnections(UUID agentID, List<ulong> regionslst) |
223 | { | 223 | { |
224 | foreach (ulong handle in regionslst) | 224 | foreach (ulong handle in regionslst) |
225 | Util.FireAndForget(delegate { SendCloseChildAgent(agentID, handle); }); | 225 | { |
226 | // We must take a copy here since handle is acts like a reference when used in an iterator. | ||
227 | // This leads to race conditions if directly passed to SendCloseChildAgent with more than one neighbour region. | ||
228 | ulong handleCopy = handle; | ||
229 | Util.FireAndForget((o) => { SendCloseChildAgent(agentID, handleCopy); }); | ||
230 | } | ||
226 | } | 231 | } |
227 | 232 | ||
228 | public List<GridRegion> RequestNamedRegions(string name, int maxNumber) | 233 | public List<GridRegion> RequestNamedRegions(string name, int maxNumber) |