Merge branch 'avination' into ubitwork

This commit is contained in:
UbitUmarov
2012-12-18 02:15:35 +00:00
3 changed files with 8 additions and 6 deletions

View File

@@ -3439,17 +3439,19 @@ namespace OpenSim.Region.Framework.Scenes
public void AdjustChildPrimPermissions()
{
uint newOwnerMask = (uint)PermissionMask.All & 0xfffffff8; // Mask folded bits
uint foldedPerms = RootPart.OwnerMask & 3;
//uint newOwnerMask = (uint)PermissionMask.All & 0xfffffff8; // Mask folded bits
//uint foldedPerms = RootPart.OwnerMask & 3;
ForEachPart(part =>
{
newOwnerMask &= part.BaseMask;
//newOwnerMask &= part.BaseMask;
if (part != RootPart)
part.ClonePermissions(RootPart);
});
RootPart.OwnerMask = newOwnerMask | foldedPerms;
uint lockMask = ~(uint)PermissionMask.Move;
uint lockBit = RootPart.OwnerMask & (uint)PermissionMask.Move;
RootPart.OwnerMask = (RootPart.OwnerMask & lockBit) | ((newOwnerMask | foldedPerms) & lockMask);
RootPart.ScheduleFullUpdate();
}