Merge branch 'master' into 0.7-post-fixes

0.7-release
Diva Canto 2010-06-29 14:25:13 -07:00
commit bfff39c4c0
2 changed files with 20 additions and 7 deletions

View File

@ -131,7 +131,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
return ret;
}
public override UUID DeleteToInventory(DeRezAction action, UUID folderID,
// DO NOT OVERRIDE THIS METHOD
public virtual UUID DeleteToInventory(DeRezAction action, UUID folderID,
SceneObjectGroup objectGroup, IClientAPI remoteClient)
{
UUID assetID = base.DeleteToInventory(action, folderID, new List<SceneObjectGroup>() {objectGroup}, remoteClient);

View File

@ -1574,13 +1574,25 @@ namespace OpenSim.Region.Framework.Scenes
// for when deleting the object from it
ForceSceneObjectBackup(grp);
if (!Permissions.CanTakeCopyObject(grp.UUID, remoteClient.AgentId))
permissionToTakeCopy = false;
if (!Permissions.CanTakeObject(grp.UUID, remoteClient.AgentId))
permissionToTake = false;
if (remoteClient == null)
{
// Autoreturn has a null client. Nothing else does. So
// allow only returns
if (action != DeRezAction.Return)
return;
if (!Permissions.CanDeleteObject(grp.UUID, remoteClient.AgentId))
permissionToDelete = false;
permissionToTakeCopy = false;
}
else
{
if (!Permissions.CanTakeCopyObject(grp.UUID, remoteClient.AgentId))
permissionToTakeCopy = false;
if (!Permissions.CanTakeObject(grp.UUID, remoteClient.AgentId))
permissionToTake = false;
if (!Permissions.CanDeleteObject(grp.UUID, remoteClient.AgentId))
permissionToDelete = false;
}
}