aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules
diff options
context:
space:
mode:
authorMelanie2011-04-01 22:04:29 +0100
committerMelanie2011-04-01 22:04:29 +0100
commit3a113f9902b859d11c200f9b0db06c2317eb53cc (patch)
treeefe807f23fdc94caaac21378e90cb62187a1f7ac /OpenSim/Region/CoreModules
parentcheck threat configuration for LSL print() (diff)
downloadopensim-SC-3a113f9902b859d11c200f9b0db06c2317eb53cc.zip
opensim-SC-3a113f9902b859d11c200f9b0db06c2317eb53cc.tar.gz
opensim-SC-3a113f9902b859d11c200f9b0db06c2317eb53cc.tar.bz2
opensim-SC-3a113f9902b859d11c200f9b0db06c2317eb53cc.tar.xz
A stab at making CHANGED_OWNER work
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs24
1 files changed, 7 insertions, 17 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index 798547a..8d0c35a 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
@@ -668,28 +668,18 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
668 if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteGroup) != 0) 668 if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteGroup) != 0)
669 part.GroupMask = item.GroupPermissions; 669 part.GroupMask = item.GroupPermissions;
670 } 670 }
671
672 foreach (SceneObjectPart part in group.Parts)
673 {
674 part.LastOwnerID = part.OwnerID;
675 part.OwnerID = item.Owner;
676 part.Inventory.ChangeInventoryOwner(item.Owner);
677 }
671 678
672 group.ApplyNextOwnerPermissions(); 679 group.ApplyNextOwnerPermissions();
673 } 680 }
674 } 681 }
675 682
676 foreach (SceneObjectPart part in group.Parts)
677 {
678 if ((part.OwnerID != item.Owner) || (item.CurrentPermissions & 16) != 0)
679 {
680 part.LastOwnerID = part.OwnerID;
681 part.OwnerID = item.Owner;
682 part.Inventory.ChangeInventoryOwner(item.Owner);
683 part.GroupMask = 0; // DO NOT propagate here
684 }
685 if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteEveryone) != 0)
686 part.EveryoneMask = item.EveryOnePermissions;
687 if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteNextOwner) != 0)
688 part.NextOwnerMask = item.NextPermissions;
689 if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteGroup) != 0)
690 part.GroupMask = item.GroupPermissions;
691 }
692
693 rootPart.TrimPermissions(); 683 rootPart.TrimPermissions();
694 684
695 if (!attachment) 685 if (!attachment)