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 edc5ba4..a22f619 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs | |||
@@ -292,6 +292,23 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
292 | // being no copy/no mod for everyone | 292 | // being no copy/no mod for everyone |
293 | lock (part.TaskInventory) | 293 | lock (part.TaskInventory) |
294 | { | 294 | { |
295 | if (!ResolveUserUuid(part.CreatorID)) | ||
296 | part.CreatorID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
297 | |||
298 | if (!ResolveUserUuid(part.OwnerID)) | ||
299 | part.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
300 | |||
301 | if (!ResolveUserUuid(part.LastOwnerID)) | ||
302 | part.LastOwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
303 | |||
304 | // And zap any troublesome sit target information | ||
305 | part.SitTargetOrientation = new Quaternion(0, 0, 0, 1); | ||
306 | part.SitTargetPosition = new Vector3(0, 0, 0); | ||
307 | |||
308 | // Fix ownership/creator of inventory items | ||
309 | // Not doing so results in inventory items | ||
310 | // being no copy/no mod for everyone | ||
311 | part.TaskInventory.LockItemsForRead(true); | ||
295 | TaskInventoryDictionary inv = part.TaskInventory; | 312 | TaskInventoryDictionary inv = part.TaskInventory; |
296 | foreach (KeyValuePair<UUID, TaskInventoryItem> kvp in inv) | 313 | foreach (KeyValuePair<UUID, TaskInventoryItem> kvp in inv) |
297 | { | 314 | { |
@@ -307,6 +324,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
307 | if (UserManager != null) | 324 | if (UserManager != null) |
308 | UserManager.AddUser(kvp.Value.CreatorID, kvp.Value.CreatorData); | 325 | UserManager.AddUser(kvp.Value.CreatorID, kvp.Value.CreatorData); |
309 | } | 326 | } |
327 | part.TaskInventory.LockItemsForRead(false); | ||
310 | } | 328 | } |
311 | } | 329 | } |
312 | 330 | ||
diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs index 948aac8..900260d 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs | |||
@@ -251,18 +251,14 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
251 | 251 | ||
252 | if (asset != null) | 252 | if (asset != null) |
253 | { | 253 | { |
254 | if (m_options.ContainsKey("verbose")) | 254 | // m_log.DebugFormat("[ARCHIVER]: Writing asset {0}", id); |
255 | m_log.InfoFormat("[ARCHIVER]: Writing asset {0}", id); | ||
256 | |||
257 | m_foundAssetUuids.Add(asset.FullID); | 255 | m_foundAssetUuids.Add(asset.FullID); |
258 | 256 | ||
259 | m_assetsArchiver.WriteAsset(PostProcess(asset)); | 257 | m_assetsArchiver.WriteAsset(PostProcess(asset)); |
260 | } | 258 | } |
261 | else | 259 | else |
262 | { | 260 | { |
263 | if (m_options.ContainsKey("verbose")) | 261 | // m_log.DebugFormat("[ARCHIVER]: Recording asset {0} as not found", id); |
264 | m_log.InfoFormat("[ARCHIVER]: Recording asset {0} as not found", id); | ||
265 | |||
266 | m_notFoundAssetUuids.Add(new UUID(id)); | 262 | m_notFoundAssetUuids.Add(new UUID(id)); |
267 | } | 263 | } |
268 | 264 | ||