diff options
author | Melanie | 2010-08-30 02:30:28 +0100 |
---|---|---|
committer | Melanie | 2010-08-30 02:30:28 +0100 |
commit | 79bfa275da6b8be03678bfa284bd205410296b6a (patch) | |
tree | 1ce2f9f2da9bb0e3a8f5628d54f44e45bfc33044 /OpenSim/Region/CoreModules/World/Archiver | |
parent | Remove CRLF endings (diff) | |
parent | Fix a casting operation to use ToString() (diff) | |
download | opensim-SC-79bfa275da6b8be03678bfa284bd205410296b6a.zip opensim-SC-79bfa275da6b8be03678bfa284bd205410296b6a.tar.gz opensim-SC-79bfa275da6b8be03678bfa284bd205410296b6a.tar.bz2 opensim-SC-79bfa275da6b8be03678bfa284bd205410296b6a.tar.xz |
Merge branch 'master' into careminster-presence-refactor
Diffstat (limited to 'OpenSim/Region/CoreModules/World/Archiver')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs index a402f4f..e51f118 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs | |||
@@ -243,9 +243,29 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
243 | // to the same scene (when this is possible). | 243 | // to the same scene (when this is possible). |
244 | sceneObject.ResetIDs(); | 244 | sceneObject.ResetIDs(); |
245 | 245 | ||
246 | List<SceneObjectPart> partList = null; | ||
246 | lock (sceneObject.Children) | 247 | lock (sceneObject.Children) |
248 | partList = new List<SceneObjectPart>(sceneObject.Children.Values); | ||
249 | |||
250 | foreach (SceneObjectPart part in partList) | ||
247 | { | 251 | { |
248 | foreach (SceneObjectPart part in sceneObject.Children.Values) | 252 | if (!ResolveUserUuid(part.CreatorID)) |
253 | part.CreatorID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
254 | |||
255 | if (!ResolveUserUuid(part.OwnerID)) | ||
256 | part.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
257 | |||
258 | if (!ResolveUserUuid(part.LastOwnerID)) | ||
259 | part.LastOwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
260 | |||
261 | // And zap any troublesome sit target information | ||
262 | part.SitTargetOrientation = new Quaternion(0, 0, 0, 1); | ||
263 | part.SitTargetPosition = new Vector3(0, 0, 0); | ||
264 | |||
265 | // Fix ownership/creator of inventory items | ||
266 | // Not doing so results in inventory items | ||
267 | // being no copy/no mod for everyone | ||
268 | lock (part.TaskInventory) | ||
249 | { | 269 | { |
250 | if (!ResolveUserUuid(part.CreatorID)) | 270 | if (!ResolveUserUuid(part.CreatorID)) |
251 | part.CreatorID = m_scene.RegionInfo.EstateSettings.EstateOwner; | 271 | part.CreatorID = m_scene.RegionInfo.EstateSettings.EstateOwner; |