aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDr Scofield2008-08-06 14:46:38 +0000
committerDr Scofield2008-08-06 14:46:38 +0000
commit5248c18b7db3ef7aa35f90615ed50f822fcf5878 (patch)
tree0c14d0e55d21c7994b7c1eb2c9ea07e64c7a1dff
parentRename namespace to FunSL. (diff)
downloadopensim-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.cs4
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;
30using OpenSim.Region.Environment.Modules.World.Serialiser; 30using OpenSim.Region.Environment.Modules.World.Serialiser;
31using OpenSim.Region.Environment.Modules.World.Terrain; 31using OpenSim.Region.Environment.Modules.World.Terrain;
32using System; 32using System;
33using Axiom.Math;
33using System.Collections.Generic; 34using System.Collections.Generic;
34using System.IO; 35using System.IO;
35using System.IO.Compression; 36using 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))