aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2015-02-25 21:12:46 +0000
committerJustin Clark-Casey (justincc)2015-02-25 21:12:46 +0000
commita03d893f2c431c220f44a6f7c1b94de7568bd6f8 (patch)
tree6f5a1069dd1287d5f8858f60c49272600647fbe5 /OpenSim/Region/Framework/Scenes/UuidGatherer.cs
parentReduce coupling in regression test task inventory creation methods to make th... (diff)
downloadopensim-SC-a03d893f2c431c220f44a6f7c1b94de7568bd6f8.zip
opensim-SC-a03d893f2c431c220f44a6f7c1b94de7568bd6f8.tar.gz
opensim-SC-a03d893f2c431c220f44a6f7c1b94de7568bd6f8.tar.bz2
opensim-SC-a03d893f2c431c220f44a6f7c1b94de7568bd6f8.tar.xz
Fix bug where the uuid gatherer was not inspecting UUIDs for items in an embedded object's inventory.
Added regression test for this case. Likely a regression since 08606ae4 (Thu Jan 8 2015) Relates to Mantises 7439, 7450 and possibly others.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/UuidGatherer.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/UuidGatherer.cs16
1 files changed, 12 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
index 69dc133..9ec4e1d 100644
--- a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
+++ b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
@@ -123,6 +123,8 @@ namespace OpenSim.Region.Framework.Scenes
123 if (m_assetUuidsToInspect.Contains(uuid)) 123 if (m_assetUuidsToInspect.Contains(uuid))
124 return false; 124 return false;
125 125
126// m_log.DebugFormat("[UUID GATHERER]: Adding asset {0} for inspection", uuid);
127
126 m_assetUuidsToInspect.Enqueue(uuid); 128 m_assetUuidsToInspect.Enqueue(uuid);
127 129
128 return true; 130 return true;
@@ -238,7 +240,11 @@ namespace OpenSim.Region.Framework.Scenes
238 if (Complete) 240 if (Complete)
239 return false; 241 return false;
240 242
241 GetAssetUuids(m_assetUuidsToInspect.Dequeue()); 243 UUID nextToInspect = m_assetUuidsToInspect.Dequeue();
244
245// m_log.DebugFormat("[UUID GATHERER]: Inspecting asset {0}", nextToInspect);
246
247 GetAssetUuids(nextToInspect);
242 248
243 return true; 249 return true;
244 } 250 }
@@ -322,8 +328,6 @@ namespace OpenSim.Region.Framework.Scenes
322 // Here, we want to collect uuids which require further asset fetches but mark the others as gathered 328 // Here, we want to collect uuids which require further asset fetches but mark the others as gathered
323 try 329 try
324 { 330 {
325 GatheredUuids[assetUuid] = assetType;
326
327 if ((sbyte)AssetType.Bodypart == assetType 331 if ((sbyte)AssetType.Bodypart == assetType
328 || (sbyte)AssetType.Clothing == assetType 332 || (sbyte)AssetType.Clothing == assetType
329 || (sbyte)AssetType.Gesture == assetType 333 || (sbyte)AssetType.Gesture == assetType
@@ -334,11 +338,15 @@ namespace OpenSim.Region.Framework.Scenes
334 { 338 {
335 AddForInspection(assetUuid); 339 AddForInspection(assetUuid);
336 } 340 }
341 else
342 {
343 GatheredUuids[assetUuid] = assetType;
344 }
337 } 345 }
338 catch (Exception) 346 catch (Exception)
339 { 347 {
340 m_log.ErrorFormat( 348 m_log.ErrorFormat(
341 "[ITERATABLE UUID GATHERER]: Failed to gather uuids for asset id {0}, type {1}", 349 "[UUID GATHERER]: Failed to gather uuids for asset id {0}, type {1}",
342 assetUuid, assetType); 350 assetUuid, assetType);
343 throw; 351 throw;
344 } 352 }