diff options
author | Dr Scofield | 2008-08-06 14:46:38 +0000 |
---|---|---|
committer | Dr Scofield | 2008-08-06 14:46:38 +0000 |
commit | 5248c18b7db3ef7aa35f90615ed50f822fcf5878 (patch) | |
tree | 0c14d0e55d21c7994b7c1eb2c9ea07e64c7a1dff /OpenSim/Region/Environment/Modules | |
parent | Rename namespace to FunSL. (diff) | |
download | opensim-SC_OLD-5248c18b7db3ef7aa35f90615ed50f822fcf5878.zip opensim-SC_OLD-5248c18b7db3ef7aa35f90615ed50f822fcf5878.tar.gz opensim-SC_OLD-5248c18b7db3ef7aa35f90615ed50f822fcf5878.tar.bz2 opensim-SC_OLD-5248c18b7db3ef7aa35f90615ed50f822fcf5878.tar.xz |
From: alan webb <alan_webb@us.ibm.com>
This fixes a sitting problem which popped up on loading regions from
archive and turned out to be caused by the fact that the archiving
mechanisms all preserve the sit-target information that is set in the
object at the time the image is captured. This caused the new region
to pick a sit-target prim that did not correspond to the prim on which
the script was running, so the script's changed event is driven with
an invalid avatar UUID.
I have modified the ArchiveReadRequest class so that any sit information
that survives the archiving process is deleted before the object is
instantiated. This change has just been checked in.
Diffstat (limited to 'OpenSim/Region/Environment/Modules')
-rw-r--r-- | OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs index 1e38cd6..b0e5f96 100644 --- a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs +++ b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs | |||
@@ -30,6 +30,7 @@ using OpenSim.Region.Environment.Scenes; | |||
30 | using OpenSim.Region.Environment.Modules.World.Serialiser; | 30 | using OpenSim.Region.Environment.Modules.World.Serialiser; |
31 | using OpenSim.Region.Environment.Modules.World.Terrain; | 31 | using OpenSim.Region.Environment.Modules.World.Terrain; |
32 | using System; | 32 | using System; |
33 | using Axiom.Math; | ||
33 | using System.Collections.Generic; | 34 | using System.Collections.Generic; |
34 | using System.IO; | 35 | using System.IO; |
35 | using System.IO.Compression; | 36 | using System.IO.Compression; |
@@ -135,6 +136,9 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver | |||
135 | part.CreatorID = masterAvatarId; | 136 | part.CreatorID = masterAvatarId; |
136 | part.OwnerID = masterAvatarId; | 137 | part.OwnerID = masterAvatarId; |
137 | part.LastOwnerID = masterAvatarId; | 138 | part.LastOwnerID = masterAvatarId; |
139 | // And zap any troublesome sit target information | ||
140 | part.SitTargetOrientation = new Quaternion(0,0,0,1); | ||
141 | part.SitTargetPosition = new Vector3(0,0,0); | ||
138 | } | 142 | } |
139 | 143 | ||
140 | if (m_scene.AddRestoredSceneObject(sceneObject, true, false)) | 144 | if (m_scene.AddRestoredSceneObject(sceneObject, true, false)) |