aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-12-14 01:48:03 +0000
committerJustin Clark-Casey (justincc)2013-12-14 02:35:07 +0000
commitc1ff245bf34d5dab3e83b9fd9aaa214ca3ee65e2 (patch)
tree97aa362e1c5bcde7c7db6dbac56ad17ca927a37a
parentBackport profile fixes (diff)
downloadopensim-SC_OLD-c1ff245bf34d5dab3e83b9fd9aaa214ca3ee65e2.zip
opensim-SC_OLD-c1ff245bf34d5dab3e83b9fd9aaa214ca3ee65e2.tar.gz
opensim-SC_OLD-c1ff245bf34d5dab3e83b9fd9aaa214ca3ee65e2.tar.bz2
opensim-SC_OLD-c1ff245bf34d5dab3e83b9fd9aaa214ca3ee65e2.tar.xz
Wrap analysis of the particle system in the UUID Gatherer in a separate try/catch as sometimes it appears that this can be corrupt.
As per Oren's suggestion.
-rw-r--r--OpenSim/Region/Framework/Scenes/UuidGatherer.cs15
1 files changed, 12 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
index 502c748..3e074b9 100644
--- a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
+++ b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
@@ -181,9 +181,18 @@ namespace OpenSim.Region.Framework.Scenes
181 181
182 if (part.ParticleSystem.Length > 0) 182 if (part.ParticleSystem.Length > 0)
183 { 183 {
184 Primitive.ParticleSystem ps = new Primitive.ParticleSystem(part.ParticleSystem, 0); 184 try
185 if (ps.Texture != UUID.Zero) 185 {
186 assetUuids[ps.Texture] = AssetType.Texture; 186 Primitive.ParticleSystem ps = new Primitive.ParticleSystem(part.ParticleSystem, 0);
187 if (ps.Texture != UUID.Zero)
188 assetUuids[ps.Texture] = AssetType.Texture;
189 }
190 catch (Exception e)
191 {
192 m_log.WarnFormat(
193 "[UUID GATHERER]: Could not check particle system for part {0} {1} in object {2} {3} since it is corrupt. Continuing.",
194 part.Name, part.UUID, sceneObject.Name, sceneObject.UUID);
195 }
187 } 196 }
188 197
189 TaskInventoryDictionary taskDictionary = (TaskInventoryDictionary)part.TaskInventory.Clone(); 198 TaskInventoryDictionary taskDictionary = (TaskInventoryDictionary)part.TaskInventory.Clone();