diff options
author | Melanie Thielker | 2010-06-27 21:04:30 +0200 |
---|---|---|
committer | Melanie | 2010-06-27 20:59:51 +0100 |
commit | 660a560d3ba0a4f4089fd173c30b3034f007d983 (patch) | |
tree | 76975a6b1cb27b6a8b85148324705cfa6942bbcc /OpenSim/Region | |
parent | Add command-script to the Robust console (diff) | |
download | opensim-SC-660a560d3ba0a4f4089fd173c30b3034f007d983.zip opensim-SC-660a560d3ba0a4f4089fd173c30b3034f007d983.tar.gz opensim-SC-660a560d3ba0a4f4089fd173c30b3034f007d983.tar.bz2 opensim-SC-660a560d3ba0a4f4089fd173c30b3034f007d983.tar.xz |
Make drag copy and copy-on-ray handle friends list perms properly
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneGraph.cs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs index 240c688..ebb3005 100644 --- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs +++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs | |||
@@ -1750,6 +1750,28 @@ namespace OpenSim.Region.Framework.Scenes | |||
1750 | SceneObjectGroup copy = original.Copy(AgentID, GroupID, true); | 1750 | SceneObjectGroup copy = original.Copy(AgentID, GroupID, true); |
1751 | copy.AbsolutePosition = copy.AbsolutePosition + offset; | 1751 | copy.AbsolutePosition = copy.AbsolutePosition + offset; |
1752 | 1752 | ||
1753 | if (copy.OwnerID != AgentID) | ||
1754 | { | ||
1755 | copy.SetOwnerId(AgentID); | ||
1756 | copy.SetRootPartOwner(copy.RootPart, AgentID, GroupID); | ||
1757 | |||
1758 | List<SceneObjectPart> partList = | ||
1759 | new List<SceneObjectPart>(copy.Children.Values); | ||
1760 | |||
1761 | if (m_parentScene.Permissions.PropagatePermissions()) | ||
1762 | { | ||
1763 | foreach (SceneObjectPart child in partList) | ||
1764 | { | ||
1765 | child.Inventory.ChangeInventoryOwner(AgentID); | ||
1766 | child.TriggerScriptChangedEvent(Changed.OWNER); | ||
1767 | child.ApplyNextOwnerPermissions(); | ||
1768 | } | ||
1769 | } | ||
1770 | |||
1771 | copy.RootPart.ObjectSaleType = 0; | ||
1772 | copy.RootPart.SalePrice = 10; | ||
1773 | } | ||
1774 | |||
1753 | Entities.Add(copy); | 1775 | Entities.Add(copy); |
1754 | 1776 | ||
1755 | // Since we copy from a source group that is in selected | 1777 | // Since we copy from a source group that is in selected |