diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index e23f39f..fad470f 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1551,7 +1551,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
1551 | dupe.AbsolutePosition = new Vector3(AbsolutePosition.X, AbsolutePosition.Y, AbsolutePosition.Z); | 1551 | dupe.AbsolutePosition = new Vector3(AbsolutePosition.X, AbsolutePosition.Y, AbsolutePosition.Z); |
1552 | 1552 | ||
1553 | if (!userExposed) | 1553 | if (!userExposed) |
1554 | { | ||
1554 | dupe.RootPart.IsAttachment = previousAttachmentStatus; | 1555 | dupe.RootPart.IsAttachment = previousAttachmentStatus; |
1556 | } | ||
1555 | 1557 | ||
1556 | dupe.CopyRootPart(m_rootPart, OwnerID, GroupID, userExposed); | 1558 | dupe.CopyRootPart(m_rootPart, OwnerID, GroupID, userExposed); |
1557 | dupe.m_rootPart.LinkNum = m_rootPart.LinkNum; | 1559 | dupe.m_rootPart.LinkNum = m_rootPart.LinkNum; |
@@ -1576,16 +1578,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
1576 | dupe.RootPart.DoPhysicsPropertyUpdate(dupe.RootPart.PhysActor.IsPhysical, true); | 1578 | dupe.RootPart.DoPhysicsPropertyUpdate(dupe.RootPart.PhysActor.IsPhysical, true); |
1577 | } | 1579 | } |
1578 | 1580 | ||
1579 | // Now we've made a copy that replaces this one, we need to | ||
1580 | // switch the owner to the person who did the copying | ||
1581 | // Second Life copies an object and duplicates the first one in it's place | ||
1582 | // So, we have to make a copy of this one, set it in it's place then set the owner on this one | ||
1583 | if (userExposed) | ||
1584 | { | ||
1585 | SetRootPartOwner(m_rootPart, cAgentID, cGroupID); | ||
1586 | m_rootPart.ScheduleFullUpdate(); | ||
1587 | } | ||
1588 | |||
1589 | List<SceneObjectPart> partList; | 1581 | List<SceneObjectPart> partList; |
1590 | 1582 | ||
1591 | lock (m_parts) | 1583 | lock (m_parts) |
@@ -1606,12 +1598,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
1606 | SceneObjectPart newPart = dupe.CopyPart(part, OwnerID, GroupID, userExposed); | 1598 | SceneObjectPart newPart = dupe.CopyPart(part, OwnerID, GroupID, userExposed); |
1607 | 1599 | ||
1608 | newPart.LinkNum = part.LinkNum; | 1600 | newPart.LinkNum = part.LinkNum; |
1609 | |||
1610 | if (userExposed) | ||
1611 | { | ||
1612 | SetPartOwner(newPart, cAgentID, cGroupID); | ||
1613 | newPart.ScheduleFullUpdate(); | ||
1614 | } | ||
1615 | } | 1601 | } |
1616 | } | 1602 | } |
1617 | 1603 | ||