aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-12-14 01:48:03 +0000
committerJustin Clark-Casey (justincc)2013-12-14 01:48:03 +0000
commite7a294e739abc1e255d205a83aeadb679f098569 (patch)
tree85af1cf38fbdd1fa459cfcd2f9f28266e2d93b43
parentAfter previous discussion, put eye-catcher 'SCRIPT READY' messages to console... (diff)
downloadopensim-SC-e7a294e739abc1e255d205a83aeadb679f098569.zip
opensim-SC-e7a294e739abc1e255d205a83aeadb679f098569.tar.gz
opensim-SC-e7a294e739abc1e255d205a83aeadb679f098569.tar.bz2
opensim-SC-e7a294e739abc1e255d205a83aeadb679f098569.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.
Diffstat (limited to '')
-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();