aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules
diff options
context:
space:
mode:
authordiva2009-02-10 22:54:05 +0000
committerdiva2009-02-10 22:54:05 +0000
commitb4be9baa4a8b10c99b9c9e471607b782c8c75851 (patch)
tree45e4d6834f281dee94f8375ffa7a4530a3280a86 /OpenSim/Region/CoreModules
parent* Remove load and save inventory commands from the console since these are ac... (diff)
downloadopensim-SC-b4be9baa4a8b10c99b9c9e471607b782c8c75851.zip
opensim-SC-b4be9baa4a8b10c99b9c9e471607b782c8c75851.tar.gz
opensim-SC-b4be9baa4a8b10c99b9c9e471607b782c8c75851.tar.bz2
opensim-SC-b4be9baa4a8b10c99b9c9e471607b782c8c75851.tar.xz
Fixes the problem of attachment offset after crossings/TPs. Hopefully it fixes mantis #3126, as well as other random displacements. The problem was that the new object at the receiving region was being marked as attachment before AttachObject was called. That made its AbsolutePosition be the position of the avie, and that was what was being given to AttachObject.
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r--OpenSim/Region/CoreModules/Communications/Local/LocalInterregionComms.cs5
-rw-r--r--OpenSim/Region/CoreModules/Communications/REST/RESTInterregionComms.cs3
2 files changed, 4 insertions, 4 deletions
diff --git a/OpenSim/Region/CoreModules/Communications/Local/LocalInterregionComms.cs b/OpenSim/Region/CoreModules/Communications/Local/LocalInterregionComms.cs
index 3a9df4a..5c2fc1c 100644
--- a/OpenSim/Region/CoreModules/Communications/Local/LocalInterregionComms.cs
+++ b/OpenSim/Region/CoreModules/Communications/Local/LocalInterregionComms.cs
@@ -218,8 +218,9 @@ namespace OpenSim.Region.CoreModules.Communications.Local
218 { 218 {
219 if (s.RegionInfo.RegionHandle == regionHandle) 219 if (s.RegionInfo.RegionHandle == regionHandle)
220 { 220 {
221 //m_log.Debug("[LOCAL COMMS]: Found region to SendCreateObject"); 221 //m_log.Debug("[LOCAL COMMS]: Found region to SendCreateObject");
222 return s.IncomingCreateObject(sog); 222 ISceneObject sogClone = sog.CloneForNewScene();
223 return s.IncomingCreateObject(sogClone);
223 } 224 }
224 } 225 }
225 return false; 226 return false;
diff --git a/OpenSim/Region/CoreModules/Communications/REST/RESTInterregionComms.cs b/OpenSim/Region/CoreModules/Communications/REST/RESTInterregionComms.cs
index b4f4814..8a4bb09 100644
--- a/OpenSim/Region/CoreModules/Communications/REST/RESTInterregionComms.cs
+++ b/OpenSim/Region/CoreModules/Communications/REST/RESTInterregionComms.cs
@@ -223,8 +223,7 @@ namespace OpenSim.Region.CoreModules.Communications.REST
223 public bool SendCreateObject(ulong regionHandle, ISceneObject sog) 223 public bool SendCreateObject(ulong regionHandle, ISceneObject sog)
224 { 224 {
225 // Try local first 225 // Try local first
226 ISceneObject sogClone = sog.CloneForNewScene(); 226 if (m_localBackend.SendCreateObject(regionHandle, sog))
227 if (m_localBackend.SendCreateObject(regionHandle, sogClone))
228 { 227 {
229 //m_log.Debug("[REST COMMS]: LocalBackEnd SendCreateObject succeeded"); 228 //m_log.Debug("[REST COMMS]: LocalBackEnd SendCreateObject succeeded");
230 return true; 229 return true;