aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorDr Scofield2008-08-06 14:46:38 +0000
committerDr Scofield2008-08-06 14:46:38 +0000
commit5248c18b7db3ef7aa35f90615ed50f822fcf5878 (patch)
tree0c14d0e55d21c7994b7c1eb2c9ea07e64c7a1dff /OpenSim/Region
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.
Diffstat (limited to 'OpenSim/Region')
-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))