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 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 520b228..997cce5 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1717,6 +1717,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
1717 | if (m_rootPart == null) | 1717 | if (m_rootPart == null) |
1718 | return; | 1718 | return; |
1719 | 1719 | ||
1720 | if ((RootPart.Flags & PrimFlags.TemporaryOnRez) != 0) | ||
1721 | return; | ||
1722 | |||
1720 | lock (m_parts) | 1723 | lock (m_parts) |
1721 | { | 1724 | { |
1722 | bool UsePhysics = ((RootPart.Flags & PrimFlags.Physics) != 0); | 1725 | bool UsePhysics = ((RootPart.Flags & PrimFlags.Physics) != 0); |
@@ -3036,6 +3039,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3036 | public virtual ISceneObject CloneForNewScene() | 3039 | public virtual ISceneObject CloneForNewScene() |
3037 | { | 3040 | { |
3038 | SceneObjectGroup sog = Copy(this.OwnerID, this.GroupID, false); | 3041 | SceneObjectGroup sog = Copy(this.OwnerID, this.GroupID, false); |
3042 | sog.m_isDeleted = false; | ||
3039 | return sog; | 3043 | return sog; |
3040 | } | 3044 | } |
3041 | 3045 | ||