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