aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs3
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs6
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) ||