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 2b61800..619550c 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs | |||
@@ -311,6 +311,23 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
311 | // being no copy/no mod for everyone | 311 | // being no copy/no mod for everyone |
312 | lock (part.TaskInventory) | 312 | lock (part.TaskInventory) |
313 | { | 313 | { |
314 | if (!ResolveUserUuid(part.CreatorID)) | ||
315 | part.CreatorID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
316 | |||
317 | if (!ResolveUserUuid(part.OwnerID)) | ||
318 | part.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
319 | |||
320 | if (!ResolveUserUuid(part.LastOwnerID)) | ||
321 | part.LastOwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
322 | |||
323 | // And zap any troublesome sit target information | ||
324 | part.SitTargetOrientation = new Quaternion(0, 0, 0, 1); | ||
325 | part.SitTargetPosition = new Vector3(0, 0, 0); | ||
326 | |||
327 | // Fix ownership/creator of inventory items | ||
328 | // Not doing so results in inventory items | ||
329 | // being no copy/no mod for everyone | ||
330 | part.TaskInventory.LockItemsForRead(true); | ||
314 | TaskInventoryDictionary inv = part.TaskInventory; | 331 | TaskInventoryDictionary inv = part.TaskInventory; |
315 | foreach (KeyValuePair<UUID, TaskInventoryItem> kvp in inv) | 332 | foreach (KeyValuePair<UUID, TaskInventoryItem> kvp in inv) |
316 | { | 333 | { |
@@ -326,6 +343,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
326 | if (UserManager != null) | 343 | if (UserManager != null) |
327 | UserManager.AddUser(kvp.Value.CreatorID, kvp.Value.CreatorData); | 344 | UserManager.AddUser(kvp.Value.CreatorID, kvp.Value.CreatorData); |
328 | } | 345 | } |
346 | part.TaskInventory.LockItemsForRead(false); | ||
329 | } | 347 | } |
330 | } | 348 | } |
331 | 349 | ||
diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs index 55110dc..1eb641d 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs | |||
@@ -253,18 +253,14 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
253 | 253 | ||
254 | if (asset != null) | 254 | if (asset != null) |
255 | { | 255 | { |
256 | if (m_options.ContainsKey("verbose")) | 256 | // m_log.DebugFormat("[ARCHIVER]: Writing asset {0}", id); |
257 | m_log.InfoFormat("[ARCHIVER]: Writing asset {0}", id); | ||
258 | |||
259 | m_foundAssetUuids.Add(asset.FullID); | 257 | m_foundAssetUuids.Add(asset.FullID); |
260 | 258 | ||
261 | m_assetsArchiver.WriteAsset(PostProcess(asset)); | 259 | m_assetsArchiver.WriteAsset(PostProcess(asset)); |
262 | } | 260 | } |
263 | else | 261 | else |
264 | { | 262 | { |
265 | if (m_options.ContainsKey("verbose")) | 263 | // m_log.DebugFormat("[ARCHIVER]: Recording asset {0} as not found", id); |
266 | m_log.InfoFormat("[ARCHIVER]: Recording asset {0} as not found", id); | ||
267 | |||
268 | m_notFoundAssetUuids.Add(new UUID(id)); | 264 | m_notFoundAssetUuids.Add(new UUID(id)); |
269 | } | 265 | } |
270 | 266 | ||