object Take and TakeCopy are for in scene SOPs and SPs and permitions module is NOT a shared module

This commit is contained in:
UbitUmarov
2017-01-19 11:34:40 +00:00
parent b9ecc962ac
commit fe9a785ecc
5 changed files with 36 additions and 26 deletions

View File

@@ -541,16 +541,17 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
#region Permissions
private bool CanTakeObject(UUID objectID, UUID stealer, Scene scene)
private bool CanTakeObject(SceneObjectGroup sog, ScenePresence sp)
{
if (m_bypassPermissions) return true;
if (!m_OutboundPermission && !UserManagementModule.IsLocalGridUser(stealer))
{
SceneObjectGroup sog = null;
if (m_Scene.TryGetSceneObjectGroup(objectID, out sog) && sog.OwnerID == stealer)
return true;
if(sp == null || sog == null)
return false;
if (!m_OutboundPermission && !UserManagementModule.IsLocalGridUser(sp.UUID))
{
if (sog.OwnerID == sp.UUID)
return true;
return false;
}