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

@ -1843,15 +1843,18 @@ namespace OpenSim.Region.Environment.Scenes
if (rootPart.OwnerID != item.Owner) if (rootPart.OwnerID != item.Owner)
{ {
if ((item.CurrentPermissions & 8) != 0) if (ExternalChecks.ExternalChecksPropagatePermissions())
{ {
foreach (SceneObjectPart part in partList) if ((item.CurrentPermissions & 8) != 0)
{ {
part.EveryoneMask = item.EveryOnePermissions; foreach (SceneObjectPart part in partList)
part.NextOwnerMask = item.NextPermissions; {
part.EveryoneMask = item.EveryOnePermissions;
part.NextOwnerMask = item.NextPermissions;
}
} }
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;
} }
} }