aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/World/Archiver
diff options
context:
space:
mode:
authorMelanie2010-08-30 02:30:28 +0100
committerMelanie2010-08-30 02:30:28 +0100
commit79bfa275da6b8be03678bfa284bd205410296b6a (patch)
tree1ce2f9f2da9bb0e3a8f5628d54f44e45bfc33044 /OpenSim/Region/CoreModules/World/Archiver
parentRemove CRLF endings (diff)
parentFix a casting operation to use ToString() (diff)
downloadopensim-SC_OLD-79bfa275da6b8be03678bfa284bd205410296b6a.zip
opensim-SC_OLD-79bfa275da6b8be03678bfa284bd205410296b6a.tar.gz
opensim-SC_OLD-79bfa275da6b8be03678bfa284bd205410296b6a.tar.bz2
opensim-SC_OLD-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.cs22
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;