diff options
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index eac74c2..b67de7e 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | |||
@@ -1009,8 +1009,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1009 | return; | 1009 | return; |
1010 | } | 1010 | } |
1011 | 1011 | ||
1012 | // todo: also check llAllowInventoryDrop when implemented | 1012 | if(part.OwnerID != destPart.OwnerID && (part.GetEffectiveObjectFlags() & (uint)LLObject.ObjectFlags.AllowInventoryDrop) == 0) |
1013 | if(part.OwnerID != destPart.OwnerID) | ||
1014 | { | 1013 | { |
1015 | // object cannot copy items to an object owned by a different owner | 1014 | // object cannot copy items to an object owned by a different owner |
1016 | // unless llAllowInventoryDrop has been called | 1015 | // unless llAllowInventoryDrop has been called |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index 85351f4..1f5f00f 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |||
@@ -97,6 +97,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
97 | 97 | ||
98 | // TODO: This needs to be persisted in next XML version update! | 98 | // TODO: This needs to be persisted in next XML version update! |
99 | [XmlIgnore] public int[] PayPrice = {-2,-2,-2,-2,-2}; | 99 | [XmlIgnore] public int[] PayPrice = {-2,-2,-2,-2,-2}; |
100 | [XmlIgnore] public bool AllowedDrop = false; | ||
100 | [XmlIgnore] private Dictionary<LLUUID, scriptEvents> m_scriptEvents = new Dictionary<LLUUID, scriptEvents>(); | 101 | [XmlIgnore] private Dictionary<LLUUID, scriptEvents> m_scriptEvents = new Dictionary<LLUUID, scriptEvents>(); |
101 | [XmlIgnore] public scriptEvents m_aggregateScriptEvents=0; | 102 | [XmlIgnore] public scriptEvents m_aggregateScriptEvents=0; |
102 | [XmlIgnore] private LLObject.ObjectFlags LocalFlags = LLObject.ObjectFlags.None; | 103 | [XmlIgnore] private LLObject.ObjectFlags LocalFlags = LLObject.ObjectFlags.None; |
@@ -2786,6 +2787,11 @@ namespace OpenSim.Region.Environment.Scenes | |||
2786 | objectflagupdate |= (uint) LLObject.ObjectFlags.Money; | 2787 | objectflagupdate |= (uint) LLObject.ObjectFlags.Money; |
2787 | } | 2788 | } |
2788 | 2789 | ||
2790 | if (AllowedDrop) | ||
2791 | { | ||
2792 | objectflagupdate |= (uint) LLObject.ObjectFlags.AllowInventoryDrop; | ||
2793 | } | ||
2794 | |||
2789 | if ( | 2795 | if ( |
2790 | ((m_aggregateScriptEvents & scriptEvents.collision) != 0) || | 2796 | ((m_aggregateScriptEvents & scriptEvents.collision) != 0) || |
2791 | ((m_aggregateScriptEvents & scriptEvents.collision_end) != 0) || | 2797 | ((m_aggregateScriptEvents & scriptEvents.collision_end) != 0) || |