diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
index 6d8b12289b..0c22937f16 100644
--- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
@@ -1153,8 +1153,10 @@ namespace OpenSim.Region.Framework.Scenes
///
protected internal void ForEachSOG(Action action)
{
- // FIXME: Need to lock here, really.
- List objlist = new List(SceneObjectGroupsByFullID.Values);
+ List objlist;
+ lock (SceneObjectGroupsByFullID)
+ objlist = new List(SceneObjectGroupsByFullID.Values);
+
foreach (SceneObjectGroup obj in objlist)
{
try
@@ -1163,7 +1165,7 @@ namespace OpenSim.Region.Framework.Scenes
}
catch (Exception e)
{
- // Catch it and move on. This includes situations where splist has inconsistent info
+ // Catch it and move on. This includes situations where objlist has inconsistent info
m_log.WarnFormat(
"[SCENEGRAPH]: Problem processing action in ForEachSOG: {0} {1}", e.Message, e.StackTrace);
}
@@ -1398,10 +1400,10 @@ namespace OpenSim.Region.Framework.Scenes
///
/// Update the texture entry of the given prim.
///
- ///
+ ///
/// A texture entry is an object that contains details of all the textures of the prim's face. In this case,
/// the texture is given in its byte serialized form.
- ///
+ ///
///
///
///