diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs index 5e029d1..88e1d24 100644 --- a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs +++ b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs | |||
@@ -153,6 +153,19 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver | |||
153 | // And zap any troublesome sit target information | 153 | // And zap any troublesome sit target information |
154 | part.SitTargetOrientation = new Quaternion(0,0,0,1); | 154 | part.SitTargetOrientation = new Quaternion(0,0,0,1); |
155 | part.SitTargetPosition = new Vector3(0,0,0); | 155 | part.SitTargetPosition = new Vector3(0,0,0); |
156 | |||
157 | // Fix ownership/creator of inventory items | ||
158 | // Not doing so results in inventory items | ||
159 | // being no copy/no mod for everyone | ||
160 | TaskInventoryDictionary inv = part.TaskInventory; | ||
161 | foreach (KeyValuePair<UUID, TaskInventoryItem> kvp in inv) { | ||
162 | if (!resolveUserUuid(kvp.Value.OwnerID)) { | ||
163 | kvp.Value.OwnerID = masterAvatarId; | ||
164 | } | ||
165 | if (!resolveUserUuid(kvp.Value.CreatorID)) { | ||
166 | kvp.Value.CreatorID = masterAvatarId; | ||
167 | } | ||
168 | } | ||
156 | } | 169 | } |
157 | 170 | ||
158 | if (m_scene.AddRestoredSceneObject(sceneObject, true, false)) | 171 | if (m_scene.AddRestoredSceneObject(sceneObject, true, false)) |