diff options
author | Justin Clark-Casey (justincc) | 2010-08-28 00:40:33 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2010-08-28 00:40:33 +0100 |
commit | 1c0b4457cdcd543f04bc818a987f6e3f2311098d (patch) | |
tree | 56b6a949423b5ca0f54b2c200e037052a9ac3ff0 /OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs | |
parent | minor: reduce log chattiness of "load iar" for IARs with lots of folders (diff) | |
download | opensim-SC-1c0b4457cdcd543f04bc818a987f6e3f2311098d.zip opensim-SC-1c0b4457cdcd543f04bc818a987f6e3f2311098d.tar.gz opensim-SC-1c0b4457cdcd543f04bc818a987f6e3f2311098d.tar.bz2 opensim-SC-1c0b4457cdcd543f04bc818a987f6e3f2311098d.tar.xz |
Improve liveness by operating on list copies of SOG.Children where appropriate
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs index 9f1575d..c511774 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs | |||
@@ -164,16 +164,17 @@ namespace OpenSim.Region.Framework.Scenes | |||
164 | 164 | ||
165 | SceneObjectGroup sog = ent as SceneObjectGroup; | 165 | SceneObjectGroup sog = ent as SceneObjectGroup; |
166 | 166 | ||
167 | List<SceneObjectPart> partList = null; | ||
167 | lock (sog.Children) | 168 | lock (sog.Children) |
169 | partList = new List<SceneObjectPart>(sog.Children.Values); | ||
170 | |||
171 | foreach (SceneObjectPart part in partList) | ||
168 | { | 172 | { |
169 | foreach (KeyValuePair<UUID, SceneObjectPart> child in (sog.Children)) | 173 | if (part.LocalId == primLocalID) |
170 | { | 174 | { |
171 | if (child.Value.LocalId == primLocalID) | 175 | part.GetProperties(remoteClient); |
172 | { | 176 | foundPrim = true; |
173 | child.Value.GetProperties(remoteClient); | 177 | break; |
174 | foundPrim = true; | ||
175 | break; | ||
176 | } | ||
177 | } | 178 | } |
178 | } | 179 | } |
179 | 180 | ||