add more calls to effective permissions aggregation; do not change groupmask on deed
parent
a5c693e302
commit
1113407280
|
@ -1180,6 +1180,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
||||||
part.NextOwnerMask = item.NextPermissions & part.BaseMask;
|
part.NextOwnerMask = item.NextPermissions & part.BaseMask;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1198,6 +1199,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
||||||
}
|
}
|
||||||
|
|
||||||
rootPart.TrimPermissions();
|
rootPart.TrimPermissions();
|
||||||
|
so.AggregateDeepPerms();
|
||||||
|
|
||||||
if (isAttachment)
|
if (isAttachment)
|
||||||
so.FromItemID = item.ID;
|
so.FromItemID = item.ID;
|
||||||
|
|
|
@ -2754,9 +2754,16 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
sog.SetOwnerId(groupID);
|
sog.SetOwnerId(groupID);
|
||||||
// Make the group mask be the previous owner mask
|
|
||||||
sog.RootPart.GroupMask = sog.RootPart.OwnerMask;
|
// this is wrong, GroupMask is used for group sharing, still possible to set
|
||||||
|
// this whould give owner rights to users that are member of group but don't have role powers to edit
|
||||||
|
// sog.RootPart.GroupMask = sog.RootPart.OwnerMask;
|
||||||
|
|
||||||
|
// we should keep all permissions on deed to group
|
||||||
|
// and with this comented code, if user does not set next permissions on the object
|
||||||
|
// and on ALL contents of ALL prims, he may loose rights, making the object useless
|
||||||
sog.ApplyNextOwnerPermissions();
|
sog.ApplyNextOwnerPermissions();
|
||||||
|
sog.AggregatePerms();
|
||||||
|
|
||||||
sog.ScheduleGroupForFullUpdate();
|
sog.ScheduleGroupForFullUpdate();
|
||||||
|
|
||||||
|
|
|
@ -2764,7 +2764,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
// Apply Next Owner Permissions if we're not bypassing permissions
|
// Apply Next Owner Permissions if we're not bypassing permissions
|
||||||
if (!m_scene.Permissions.BypassPermissions())
|
if (!m_scene.Permissions.BypassPermissions())
|
||||||
|
{
|
||||||
ApplyNextOwnerPermissions();
|
ApplyNextOwnerPermissions();
|
||||||
|
AggregatePerms();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rpart.ScheduleFullUpdate();
|
rpart.ScheduleFullUpdate();
|
||||||
|
|
|
@ -980,6 +980,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
// old code end
|
// old code end
|
||||||
rootPart.TrimPermissions();
|
rootPart.TrimPermissions();
|
||||||
|
group.AggregateDeepPerms();
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in New Issue