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.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 77bf6fe..2e13f90 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
@@ -527,6 +527,7 @@ namespace OpenSim.Region.Framework.Scenes
527 item.ParentID = m_part.UUID; 527 item.ParentID = m_part.UUID;
528 item.ParentPartID = m_part.UUID; 528 item.ParentPartID = m_part.UUID;
529 item.Name = name; 529 item.Name = name;
530 item.GroupID = m_part.GroupID;
530 531
531 lock (m_items) 532 lock (m_items)
532 { 533 {
@@ -619,6 +620,12 @@ namespace OpenSim.Region.Framework.Scenes
619 item.ParentID = m_part.UUID; 620 item.ParentID = m_part.UUID;
620 item.ParentPartID = m_part.UUID; 621 item.ParentPartID = m_part.UUID;
621 item.Flags = m_items[item.ItemID].Flags; 622 item.Flags = m_items[item.ItemID].Flags;
623
624 // If group permissions have been set on, check that the groupID is up to date in case it has
625 // changed since permissions were last set.
626 if (item.GroupPermissions != (uint)PermissionMask.None)
627 item.GroupID = m_part.GroupID;
628
622 if (item.AssetID == UUID.Zero) 629 if (item.AssetID == UUID.Zero)
623 { 630 {
624 item.AssetID = m_items[item.ItemID].AssetID; 631 item.AssetID = m_items[item.ItemID].AssetID;
@@ -770,6 +777,7 @@ namespace OpenSim.Region.Framework.Scenes
770 uint everyoneMask = 0; 777 uint everyoneMask = 0;
771 uint baseMask = item.BasePermissions; 778 uint baseMask = item.BasePermissions;
772 uint ownerMask = item.CurrentPermissions; 779 uint ownerMask = item.CurrentPermissions;
780 uint groupMask = item.GroupPermissions;
773 781
774 invString.AddItemStart(); 782 invString.AddItemStart();
775 invString.AddNameValueLine("item_id", item.ItemID.ToString()); 783 invString.AddNameValueLine("item_id", item.ItemID.ToString());
@@ -779,7 +787,7 @@ namespace OpenSim.Region.Framework.Scenes
779 787
780 invString.AddNameValueLine("base_mask", Utils.UIntToHexString(baseMask)); 788 invString.AddNameValueLine("base_mask", Utils.UIntToHexString(baseMask));
781 invString.AddNameValueLine("owner_mask", Utils.UIntToHexString(ownerMask)); 789 invString.AddNameValueLine("owner_mask", Utils.UIntToHexString(ownerMask));
782 invString.AddNameValueLine("group_mask", Utils.UIntToHexString(0)); 790 invString.AddNameValueLine("group_mask", Utils.UIntToHexString(groupMask));
783 invString.AddNameValueLine("everyone_mask", Utils.UIntToHexString(everyoneMask)); 791 invString.AddNameValueLine("everyone_mask", Utils.UIntToHexString(everyoneMask));
784 invString.AddNameValueLine("next_owner_mask", Utils.UIntToHexString(item.NextPermissions)); 792 invString.AddNameValueLine("next_owner_mask", Utils.UIntToHexString(item.NextPermissions));
785 793