diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/World/Archiver')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs | 20 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs | 8 |
2 files changed, 21 insertions, 7 deletions
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs index c810242..01f1c63 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs | |||
@@ -490,6 +490,23 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
490 | // being no copy/no mod for everyone | 490 | // being no copy/no mod for everyone |
491 | lock (part.TaskInventory) | 491 | lock (part.TaskInventory) |
492 | { | 492 | { |
493 | if (!ResolveUserUuid(scene, part.CreatorID)) | ||
494 | part.CreatorID = scene.RegionInfo.EstateSettings.EstateOwner; | ||
495 | |||
496 | if (!ResolveUserUuid(scene, part.OwnerID)) | ||
497 | part.OwnerID = scene.RegionInfo.EstateSettings.EstateOwner; | ||
498 | |||
499 | if (!ResolveUserUuid(scene, part.LastOwnerID)) | ||
500 | part.LastOwnerID = scene.RegionInfo.EstateSettings.EstateOwner; | ||
501 | |||
502 | // And zap any troublesome sit target information | ||
503 | part.SitTargetOrientation = new Quaternion(0, 0, 0, 1); | ||
504 | part.SitTargetPosition = new Vector3(0, 0, 0); | ||
505 | |||
506 | // Fix ownership/creator of inventory items | ||
507 | // Not doing so results in inventory items | ||
508 | // being no copy/no mod for everyone | ||
509 | part.TaskInventory.LockItemsForRead(true); | ||
493 | TaskInventoryDictionary inv = part.TaskInventory; | 510 | TaskInventoryDictionary inv = part.TaskInventory; |
494 | foreach (KeyValuePair<UUID, TaskInventoryItem> kvp in inv) | 511 | foreach (KeyValuePair<UUID, TaskInventoryItem> kvp in inv) |
495 | { | 512 | { |
@@ -510,6 +527,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
510 | if (!ResolveGroupUuid(kvp.Value.GroupID)) | 527 | if (!ResolveGroupUuid(kvp.Value.GroupID)) |
511 | kvp.Value.GroupID = UUID.Zero; | 528 | kvp.Value.GroupID = UUID.Zero; |
512 | } | 529 | } |
530 | part.TaskInventory.LockItemsForRead(false); | ||
513 | } | 531 | } |
514 | } | 532 | } |
515 | 533 | ||
@@ -887,4 +905,4 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
887 | return dearchivedScenes; | 905 | return dearchivedScenes; |
888 | } | 906 | } |
889 | } | 907 | } |
890 | } \ No newline at end of file | 908 | } |
diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs index 103eb47..e2f8833 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs | |||
@@ -269,18 +269,14 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
269 | 269 | ||
270 | if (asset != null) | 270 | if (asset != null) |
271 | { | 271 | { |
272 | if (m_options.ContainsKey("verbose")) | 272 | // m_log.DebugFormat("[ARCHIVER]: Writing asset {0}", id); |
273 | m_log.InfoFormat("[ARCHIVER]: Writing asset {0}", id); | ||
274 | |||
275 | m_foundAssetUuids.Add(asset.FullID); | 273 | m_foundAssetUuids.Add(asset.FullID); |
276 | 274 | ||
277 | m_assetsArchiver.WriteAsset(PostProcess(asset)); | 275 | m_assetsArchiver.WriteAsset(PostProcess(asset)); |
278 | } | 276 | } |
279 | else | 277 | else |
280 | { | 278 | { |
281 | if (m_options.ContainsKey("verbose")) | 279 | // m_log.DebugFormat("[ARCHIVER]: Recording asset {0} as not found", id); |
282 | m_log.InfoFormat("[ARCHIVER]: Recording asset {0} as not found", id); | ||
283 | |||
284 | m_notFoundAssetUuids.Add(new UUID(id)); | 280 | m_notFoundAssetUuids.Add(new UUID(id)); |
285 | } | 281 | } |
286 | 282 | ||