added patch 1633, thanks Melanie.

Although I think a bit of abstraction needs to be done to make it easy to override the deleting off the inventory item when rezzing a object.
0.6.0-stable
MW 2008-06-29 13:52:03 +00:00
parent 037b31f9db
commit 7917398451
1 changed files with 14 additions and 5 deletions

View File

@ -1842,6 +1842,8 @@ namespace OpenSim.Region.Environment.Scenes
List<SceneObjectPart> partList = new List<SceneObjectPart>(group.Children.Values); List<SceneObjectPart> partList = new List<SceneObjectPart>(group.Children.Values);
if (rootPart.OwnerID != item.Owner) if (rootPart.OwnerID != item.Owner)
{
if (ExternalChecks.ExternalChecksPropagatePermissions())
{ {
if ((item.CurrentPermissions & 8) != 0) if ((item.CurrentPermissions & 8) != 0)
{ {
@ -1853,6 +1855,7 @@ namespace OpenSim.Region.Environment.Scenes
} }
group.ApplyNextOwnerPermissions(); group.ApplyNextOwnerPermissions();
} }
}
foreach (SceneObjectPart part in partList) foreach (SceneObjectPart part in partList)
{ {
@ -1887,6 +1890,12 @@ namespace OpenSim.Region.Environment.Scenes
if (!attachment) if (!attachment)
rootPart.ScheduleFullUpdate(); rootPart.ScheduleFullUpdate();
if (!ExternalChecks.ExternalChecksBypassPermissions())
{
if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0)
userInfo.DeleteItem(item.ID);
}
return rootPart.ParentGroup; return rootPart.ParentGroup;
} }
} }