diff options
author | Melanie | 2010-12-29 21:02:45 +0100 |
---|---|---|
committer | Melanie | 2010-12-29 21:02:45 +0100 |
commit | dbaaccf92af588eaa07be7e97057decf79f0668e (patch) | |
tree | ff5a523a494167d9e8957aa236576e3d13096733 | |
parent | Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/ca... (diff) | |
download | opensim-SC_OLD-dbaaccf92af588eaa07be7e97057decf79f0668e.zip opensim-SC_OLD-dbaaccf92af588eaa07be7e97057decf79f0668e.tar.gz opensim-SC_OLD-dbaaccf92af588eaa07be7e97057decf79f0668e.tar.bz2 opensim-SC_OLD-dbaaccf92af588eaa07be7e97057decf79f0668e.tar.xz |
Copying a ref type under lock doesn't dissociate it from the source.
Use a new list to do that.
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index deeb817..a90caa9 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -1428,9 +1428,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
1428 | 1428 | ||
1429 | private void CheckAtTargets() | 1429 | private void CheckAtTargets() |
1430 | { | 1430 | { |
1431 | Dictionary<UUID, SceneObjectGroup>.ValueCollection objs; | 1431 | List<SceneObjectGroup> objs = new List<SceneObjectGroup>(); |
1432 | lock (m_groupsWithTargets) | 1432 | lock (m_groupsWithTargets) |
1433 | objs = m_groupsWithTargets.Values; | 1433 | objs = new List<SceneObjectGroup>(m_groupsWithTargets.Values); |
1434 | 1434 | ||
1435 | foreach (SceneObjectGroup entry in objs) | 1435 | foreach (SceneObjectGroup entry in objs) |
1436 | entry.checkAtTargets(); | 1436 | entry.checkAtTargets(); |