aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs29
1 files changed, 27 insertions, 2 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs
index 144cbbe..f89b904 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs
@@ -218,10 +218,35 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
218 218
219 // Count inventory items (different to asset count) 219 // Count inventory items (different to asset count)
220 CountItems++; 220 CountItems++;
221 221
222 // Don't chase down link asset items as they actually point to their target item IDs rather than an asset 222 // Don't chase down link asset items as they actually point to their target item IDs rather than an asset
223 if (SaveAssets && itemAssetType != AssetType.Link && itemAssetType != AssetType.LinkFolder) 223 if (SaveAssets && itemAssetType != AssetType.Link && itemAssetType != AssetType.LinkFolder)
224 {
225 int curErrorCntr = m_assetGatherer.ErrorCount;
224 m_assetGatherer.AddForInspection(inventoryItem.AssetID); 226 m_assetGatherer.AddForInspection(inventoryItem.AssetID);
227 m_assetGatherer.GatherAll();
228 curErrorCntr = m_assetGatherer.ErrorCount - curErrorCntr;
229 if(curErrorCntr > 0)
230 {
231 string spath;
232 int indx = path.IndexOf("__");
233 if(indx > 0)
234 spath = path.Substring(0,indx);
235 else
236 spath = path;
237
238 if(curErrorCntr > 1)
239 {
240 m_log.WarnFormat("[INVENTORY ARCHIVER]: item {0} '{1}', type {2}, in '{3}', contains at least {4} references to missing or damaged assets",
241 inventoryItem.ID, inventoryItem.Name, itemAssetType.ToString(), spath, curErrorCntr);
242 }
243 else if(curErrorCntr == 1)
244 {
245 m_log.WarnFormat("[INVENTORY ARCHIVER]: item {0} '{1}', type {2}, in '{3}', contains at least 1 reference to a missing or damaged asset",
246 inventoryItem.ID, inventoryItem.Name, itemAssetType.ToString(), spath);
247 }
248 }
249 }
225 } 250 }
226 251
227 /// <summary> 252 /// <summary>
@@ -427,7 +452,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
427 m_log.DebugFormat( 452 m_log.DebugFormat(
428 "[INVENTORY ARCHIVER]: The items to save reference {0} assets", m_assetGatherer.GatheredUuids.Count + errors); 453 "[INVENTORY ARCHIVER]: The items to save reference {0} assets", m_assetGatherer.GatheredUuids.Count + errors);
429 if(errors > 0) 454 if(errors > 0)
430 m_log.DebugFormat("[INVENTORY ARCHIVER]: {0} of this assets have problems and will be ignored", errors); 455 m_log.DebugFormat("[INVENTORY ARCHIVER]: {0} of these assets have problems and will be ignored", errors);
431 456
432 AssetsRequest ar = new AssetsRequest( 457 AssetsRequest ar = new AssetsRequest(
433 new AssetsArchiver(m_archiveWriter), 458 new AssetsArchiver(m_archiveWriter),