diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/World/Archiver')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs | 18 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs | 8 |
2 files changed, 20 insertions, 6 deletions
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs index 433166d..142567b 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs | |||
@@ -325,6 +325,23 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
325 | // being no copy/no mod for everyone | 325 | // being no copy/no mod for everyone |
326 | lock (part.TaskInventory) | 326 | lock (part.TaskInventory) |
327 | { | 327 | { |
328 | if (!ResolveUserUuid(part.CreatorID)) | ||
329 | part.CreatorID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
330 | |||
331 | if (!ResolveUserUuid(part.OwnerID)) | ||
332 | part.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
333 | |||
334 | if (!ResolveUserUuid(part.LastOwnerID)) | ||
335 | part.LastOwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
336 | |||
337 | // And zap any troublesome sit target information | ||
338 | part.SitTargetOrientation = new Quaternion(0, 0, 0, 1); | ||
339 | part.SitTargetPosition = new Vector3(0, 0, 0); | ||
340 | |||
341 | // Fix ownership/creator of inventory items | ||
342 | // Not doing so results in inventory items | ||
343 | // being no copy/no mod for everyone | ||
344 | part.TaskInventory.LockItemsForRead(true); | ||
328 | TaskInventoryDictionary inv = part.TaskInventory; | 345 | TaskInventoryDictionary inv = part.TaskInventory; |
329 | foreach (KeyValuePair<UUID, TaskInventoryItem> kvp in inv) | 346 | foreach (KeyValuePair<UUID, TaskInventoryItem> kvp in inv) |
330 | { | 347 | { |
@@ -345,6 +362,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
345 | if (!ResolveGroupUuid(kvp.Value.GroupID)) | 362 | if (!ResolveGroupUuid(kvp.Value.GroupID)) |
346 | kvp.Value.GroupID = UUID.Zero; | 363 | kvp.Value.GroupID = UUID.Zero; |
347 | } | 364 | } |
365 | part.TaskInventory.LockItemsForRead(false); | ||
348 | } | 366 | } |
349 | } | 367 | } |
350 | 368 | ||
diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs index a073cb9..89e9593 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs | |||
@@ -259,18 +259,14 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
259 | 259 | ||
260 | if (asset != null) | 260 | if (asset != null) |
261 | { | 261 | { |
262 | if (m_options.ContainsKey("verbose")) | 262 | // m_log.DebugFormat("[ARCHIVER]: Writing asset {0}", id); |
263 | m_log.InfoFormat("[ARCHIVER]: Writing asset {0}", id); | ||
264 | |||
265 | m_foundAssetUuids.Add(asset.FullID); | 263 | m_foundAssetUuids.Add(asset.FullID); |
266 | 264 | ||
267 | m_assetsArchiver.WriteAsset(PostProcess(asset)); | 265 | m_assetsArchiver.WriteAsset(PostProcess(asset)); |
268 | } | 266 | } |
269 | else | 267 | else |
270 | { | 268 | { |
271 | if (m_options.ContainsKey("verbose")) | 269 | // m_log.DebugFormat("[ARCHIVER]: Recording asset {0} as not found", id); |
272 | m_log.InfoFormat("[ARCHIVER]: Recording asset {0} as not found", id); | ||
273 | |||
274 | m_notFoundAssetUuids.Add(new UUID(id)); | 270 | m_notFoundAssetUuids.Add(new UUID(id)); |
275 | } | 271 | } |
276 | 272 | ||