diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 21 |
1 files changed, 0 insertions, 21 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index a78a0cb..b70e9df 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1701,28 +1701,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1701 | SceneObjectGroup dupe = (SceneObjectGroup)MemberwiseClone(); | 1701 | SceneObjectGroup dupe = (SceneObjectGroup)MemberwiseClone(); |
1702 | dupe.Backup = false; | 1702 | dupe.Backup = false; |
1703 | dupe.m_parts = new MapAndArray<OpenMetaverse.UUID, SceneObjectPart>(); | 1703 | dupe.m_parts = new MapAndArray<OpenMetaverse.UUID, SceneObjectPart>(); |
1704 | |||
1705 | // Warning, The following code related to previousAttachmentStatus is needed so that clones of | ||
1706 | // attachments do not bordercross while they're being duplicated. This is hacktastic! | ||
1707 | // Normally, setting AbsolutePosition will bordercross a prim if it's outside the region! | ||
1708 | // unless IsAttachment is true!, so to prevent border crossing, we save it's attachment state | ||
1709 | // (which should be false anyway) set it as an Attachment and then set it's Absolute Position, | ||
1710 | // then restore it's attachment state | ||
1711 | |||
1712 | // This is only necessary when userExposed is false! | ||
1713 | |||
1714 | bool previousAttachmentStatus = dupe.IsAttachment; | ||
1715 | |||
1716 | if (!userExposed) | ||
1717 | dupe.IsAttachment = true; | ||
1718 | |||
1719 | dupe.m_sittingAvatars = new List<UUID>(); | 1704 | dupe.m_sittingAvatars = new List<UUID>(); |
1720 | |||
1721 | if (!userExposed) | ||
1722 | { | ||
1723 | dupe.IsAttachment = previousAttachmentStatus; | ||
1724 | } | ||
1725 | |||
1726 | dupe.CopyRootPart(m_rootPart, OwnerID, GroupID, userExposed); | 1705 | dupe.CopyRootPart(m_rootPart, OwnerID, GroupID, userExposed); |
1727 | dupe.m_rootPart.LinkNum = m_rootPart.LinkNum; | 1706 | dupe.m_rootPart.LinkNum = m_rootPart.LinkNum; |
1728 | 1707 | ||