diff options
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 '')
-rw-r--r-- | OpenSim/Region/CoreModules/Communications/Local/LocalInterregionComms.cs | 5 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/Communications/REST/RESTInterregionComms.cs | 3 |
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; |