diff options
author | John Hurliman | 2010-09-16 17:30:46 -0700 |
---|---|---|
committer | John Hurliman | 2010-09-16 17:30:46 -0700 |
commit | 860b2a502f797e5822c6705d4639f370f3ac5861 (patch) | |
tree | 5a74ddbd626142e27f6c3439ea267b8ea348ce9c /OpenSim/Region/OptionalModules/ContentManagementSystem/CMEntityCollection.cs | |
parent | Add the modules include line back that i dropped by mistake (diff) | |
download | opensim-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/OptionalModules/ContentManagementSystem/CMEntityCollection.cs')
-rw-r--r-- | OpenSim/Region/OptionalModules/ContentManagementSystem/CMEntityCollection.cs | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/OpenSim/Region/OptionalModules/ContentManagementSystem/CMEntityCollection.cs b/OpenSim/Region/OptionalModules/ContentManagementSystem/CMEntityCollection.cs index d21b652..7f64ebd 100644 --- a/OpenSim/Region/OptionalModules/ContentManagementSystem/CMEntityCollection.cs +++ b/OpenSim/Region/OptionalModules/ContentManagementSystem/CMEntityCollection.cs | |||
@@ -121,19 +121,16 @@ namespace OpenSim.Region.OptionalModules.ContentManagement | |||
121 | continue; | 121 | continue; |
122 | temp = (SceneObjectGroup) currObj; | 122 | temp = (SceneObjectGroup) currObj; |
123 | 123 | ||
124 | lock (temp.Children) | 124 | if (m_CMEntityHash.ContainsKey(temp.UUID)) |
125 | { | 125 | { |
126 | if (m_CMEntityHash.ContainsKey(temp.UUID)) | 126 | foreach (SceneObjectPart part in temp.Parts) |
127 | { | 127 | if (!((ContentManagementEntity)m_CMEntityHash[temp.UUID]).HasChildPrim(part.UUID)) |
128 | foreach (SceneObjectPart part in temp.Children.Values) | ||
129 | if (!((ContentManagementEntity)m_CMEntityHash[temp.UUID]).HasChildPrim(part.UUID)) | ||
130 | missingList.Add(part); | ||
131 | } | ||
132 | else //Entire group is missing from revision. (and is a new part in region) | ||
133 | { | ||
134 | foreach (SceneObjectPart part in temp.Children.Values) | ||
135 | missingList.Add(part); | 128 | missingList.Add(part); |
136 | } | 129 | } |
130 | else //Entire group is missing from revision. (and is a new part in region) | ||
131 | { | ||
132 | foreach (SceneObjectPart part in temp.Parts) | ||
133 | missingList.Add(part); | ||
137 | } | 134 | } |
138 | } | 135 | } |
139 | return missingList; | 136 | return missingList; |