aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs14
1 files changed, 11 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
index 210f5cd..02d3991 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
@@ -811,8 +811,13 @@ namespace OpenSim.Region.Framework.Scenes
811 // isn't available (such as drag from prim inventory to agent inventory) 811 // isn't available (such as drag from prim inventory to agent inventory)
812 InventoryStringBuilder invString = new InventoryStringBuilder(m_part.UUID, UUID.Zero); 812 InventoryStringBuilder invString = new InventoryStringBuilder(m_part.UUID, UUID.Zero);
813 813
814 List<TaskInventoryItem> items = GetInventoryItems(); 814 bool includeAssets = false;
815 foreach (TaskInventoryItem item in items) 815 if (m_part.ParentGroup.Scene.Permissions.CanEditObjectInventory(m_part.UUID, client.AgentId))
816 includeAssets = true;
817
818 m_items.LockItemsForRead(true);
819
820 foreach (TaskInventoryItem item in m_items.Values)
816 { 821 {
817 UUID ownerID = item.OwnerID; 822 UUID ownerID = item.OwnerID;
818 uint everyoneMask = 0; 823 uint everyoneMask = 0;
@@ -840,7 +845,10 @@ namespace OpenSim.Region.Framework.Scenes
840 invString.AddNameValueLine("group_id", item.GroupID.ToString()); 845 invString.AddNameValueLine("group_id", item.GroupID.ToString());
841 invString.AddSectionEnd(); 846 invString.AddSectionEnd();
842 847
843 invString.AddNameValueLine("asset_id", item.AssetID.ToString()); 848 if (includeAssets)
849 invString.AddNameValueLine("asset_id", item.AssetID.ToString());
850 else
851 invString.AddNameValueLine("asset_id", UUID.Zero.ToString());
844 invString.AddNameValueLine("type", TaskInventoryItem.Types[item.Type]); 852 invString.AddNameValueLine("type", TaskInventoryItem.Types[item.Type]);
845 invString.AddNameValueLine("inv_type", TaskInventoryItem.InvTypes[item.InvType]); 853 invString.AddNameValueLine("inv_type", TaskInventoryItem.InvTypes[item.InvType]);
846 invString.AddNameValueLine("flags", Utils.UIntToHexString(item.Flags)); 854 invString.AddNameValueLine("flags", Utils.UIntToHexString(item.Flags));