Fix for mantis 952

0.6.0-stable
Teravus Ovares 2008-04-14 01:10:48 +00:00
parent 665c5d89f8
commit 30f93b2201
1 changed files with 30 additions and 23 deletions

View File

@ -195,14 +195,18 @@ namespace OpenSim.Region.Environment.Modules
updateUsers.Add(fli.Friend); updateUsers.Add(fli.Friend);
} }
} }
lock (updateUsers)
{
for (int i = 0; i < updateUsers.Count; i++) for (int i = 0; i < updateUsers.Count; i++)
{ {
List<FriendListItem> flfli = new List<FriendListItem>(); List<FriendListItem> flfli = new List<FriendListItem>();
lock (FriendLists) lock (FriendLists)
{ {
if (FriendLists.ContainsKey(updateUsers[i])) if (FriendLists.ContainsKey(updateUsers[i]))
flfli = FriendLists[updateUsers[i]]; flfli = FriendLists[updateUsers[i]];
} }
for (int j = 0; j < flfli.Count; j++) for (int j = 0; j < flfli.Count; j++)
{ {
if (flfli[i].Friend == AgentId) if (flfli[i].Friend == AgentId)
@ -212,7 +216,9 @@ namespace OpenSim.Region.Environment.Modules
} }
} }
for (int i = 0; i < updateUsers.Count; i++) for (int i = 0; i < updateUsers.Count; i++)
{ {
ScenePresence av = GetPresenceFromAgentID(updateUsers[i]); ScenePresence av = GetPresenceFromAgentID(updateUsers[i]);
@ -228,6 +234,7 @@ namespace OpenSim.Region.Environment.Modules
av.ControllingClient.OutPacket(onp, ThrottleOutPacketType.Task); av.ControllingClient.OutPacket(onp, ThrottleOutPacketType.Task);
} }
} }
}
lock (FriendLists) lock (FriendLists)
{ {
FriendLists.Remove(AgentId); FriendLists.Remove(AgentId);