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 | |
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.
-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)) |