From b4be9baa4a8b10c99b9c9e471607b782c8c75851 Mon Sep 17 00:00:00 2001 From: diva Date: Tue, 10 Feb 2009 22:54:05 +0000 Subject: 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. --- .../Region/CoreModules/Communications/Local/LocalInterregionComms.cs | 5 +++-- .../Region/CoreModules/Communications/REST/RESTInterregionComms.cs | 3 +-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'OpenSim/Region/CoreModules') 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 { if (s.RegionInfo.RegionHandle == regionHandle) { - //m_log.Debug("[LOCAL COMMS]: Found region to SendCreateObject"); - return s.IncomingCreateObject(sog); + //m_log.Debug("[LOCAL COMMS]: Found region to SendCreateObject"); + ISceneObject sogClone = sog.CloneForNewScene(); + return s.IncomingCreateObject(sogClone); } } 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 public bool SendCreateObject(ulong regionHandle, ISceneObject sog) { // Try local first - ISceneObject sogClone = sog.CloneForNewScene(); - if (m_localBackend.SendCreateObject(regionHandle, sogClone)) + if (m_localBackend.SendCreateObject(regionHandle, sog)) { //m_log.Debug("[REST COMMS]: LocalBackEnd SendCreateObject succeeded"); return true; -- cgit v1.1