aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs
diff options
context:
space:
mode:
authorJohn Hurliman2010-09-16 17:30:46 -0700
committerJohn Hurliman2010-09-16 17:30:46 -0700
commit860b2a502f797e5822c6705d4639f370f3ac5861 (patch)
tree5a74ddbd626142e27f6c3439ea267b8ea348ce9c /OpenSim/Region/Framework/Scenes/Scene.cs
parentAdd the modules include line back that i dropped by mistake (diff)
downloadopensim-SC_OLD-860b2a502f797e5822c6705d4639f370f3ac5861.zip
opensim-SC_OLD-860b2a502f797e5822c6705d4639f370f3ac5861.tar.gz
opensim-SC_OLD-860b2a502f797e5822c6705d4639f370f3ac5861.tar.bz2
opensim-SC_OLD-860b2a502f797e5822c6705d4639f370f3ac5861.tar.xz
Changed SceneObjectGroup to store parts with the fast and thread-safe MapAndArray collection
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs14
1 files changed, 5 insertions, 9 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 8a90bc8..fe0ab5b 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -1785,7 +1785,7 @@ namespace OpenSim.Region.Framework.Scenes
1785 { 1785 {
1786 m_log.ErrorFormat( 1786 m_log.ErrorFormat(
1787 "[SCENE]: Found a SceneObjectGroup with m_rootPart == null and {0} children", 1787 "[SCENE]: Found a SceneObjectGroup with m_rootPart == null and {0} children",
1788 group.Children == null ? 0 : group.PrimCount); 1788 group.Parts == null ? 0 : group.PrimCount);
1789 } 1789 }
1790 1790
1791 AddRestoredSceneObject(group, true, true); 1791 AddRestoredSceneObject(group, true, true);
@@ -2091,9 +2091,7 @@ namespace OpenSim.Region.Framework.Scenes
2091 group.RemoveScriptInstances(true); 2091 group.RemoveScriptInstances(true);
2092 } 2092 }
2093 2093
2094 List<SceneObjectPart> partList = null; 2094 SceneObjectPart[] partList = group.Parts;
2095 lock (group.Children)
2096 partList = new List<SceneObjectPart>(group.Children.Values);
2097 2095
2098 foreach (SceneObjectPart part in partList) 2096 foreach (SceneObjectPart part in partList)
2099 { 2097 {
@@ -2465,11 +2463,9 @@ namespace OpenSim.Region.Framework.Scenes
2465 2463
2466 // Force allocation of new LocalId 2464 // Force allocation of new LocalId
2467 // 2465 //
2468 lock (sceneObject.Children) 2466 SceneObjectPart[] parts = sceneObject.Parts;
2469 { 2467 for (int i = 0; i < parts.Length; i++)
2470 foreach (SceneObjectPart p in sceneObject.Children.Values) 2468 parts[i].LocalId = 0;
2471 p.LocalId = 0;
2472 }
2473 2469
2474 if (sceneObject.IsAttachmentCheckFull()) // Attachment 2470 if (sceneObject.IsAttachmentCheckFull()) // Attachment
2475 { 2471 {