aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs10
1 files changed, 9 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
index 21ca1de..d175695 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
@@ -528,6 +528,7 @@ namespace OpenSim.Region.Framework.Scenes
528 item.ParentID = m_part.UUID; 528 item.ParentID = m_part.UUID;
529 item.ParentPartID = m_part.UUID; 529 item.ParentPartID = m_part.UUID;
530 item.Name = name; 530 item.Name = name;
531 item.GroupID = m_part.GroupID;
531 532
532 lock (m_items) 533 lock (m_items)
533 { 534 {
@@ -620,6 +621,12 @@ namespace OpenSim.Region.Framework.Scenes
620 item.ParentID = m_part.UUID; 621 item.ParentID = m_part.UUID;
621 item.ParentPartID = m_part.UUID; 622 item.ParentPartID = m_part.UUID;
622 item.Flags = m_items[item.ItemID].Flags; 623 item.Flags = m_items[item.ItemID].Flags;
624
625 // If group permissions have been set on, check that the groupID is up to date in case it has
626 // changed since permissions were last set.
627 if (item.GroupPermissions != (uint)PermissionMask.None)
628 item.GroupID = m_part.GroupID;
629
623 if (item.AssetID == UUID.Zero) 630 if (item.AssetID == UUID.Zero)
624 { 631 {
625 item.AssetID = m_items[item.ItemID].AssetID; 632 item.AssetID = m_items[item.ItemID].AssetID;
@@ -771,6 +778,7 @@ namespace OpenSim.Region.Framework.Scenes
771 uint everyoneMask = 0; 778 uint everyoneMask = 0;
772 uint baseMask = item.BasePermissions; 779 uint baseMask = item.BasePermissions;
773 uint ownerMask = item.CurrentPermissions; 780 uint ownerMask = item.CurrentPermissions;
781 uint groupMask = item.GroupPermissions;
774 782
775 invString.AddItemStart(); 783 invString.AddItemStart();
776 invString.AddNameValueLine("item_id", item.ItemID.ToString()); 784 invString.AddNameValueLine("item_id", item.ItemID.ToString());
@@ -780,7 +788,7 @@ namespace OpenSim.Region.Framework.Scenes
780 788
781 invString.AddNameValueLine("base_mask", Utils.UIntToHexString(baseMask)); 789 invString.AddNameValueLine("base_mask", Utils.UIntToHexString(baseMask));
782 invString.AddNameValueLine("owner_mask", Utils.UIntToHexString(ownerMask)); 790 invString.AddNameValueLine("owner_mask", Utils.UIntToHexString(ownerMask));
783 invString.AddNameValueLine("group_mask", Utils.UIntToHexString(0)); 791 invString.AddNameValueLine("group_mask", Utils.UIntToHexString(groupMask));
784 invString.AddNameValueLine("everyone_mask", Utils.UIntToHexString(everyoneMask)); 792 invString.AddNameValueLine("everyone_mask", Utils.UIntToHexString(everyoneMask));
785 invString.AddNameValueLine("next_owner_mask", Utils.UIntToHexString(item.NextPermissions)); 793 invString.AddNameValueLine("next_owner_mask", Utils.UIntToHexString(item.NextPermissions));
786 794