Make sure that, on "Anyone can copy" the person copying the object

has transfer perms as well as copy perms.
This may block some cases where the owner would normally be able to take
copy.
Fixes Mantis #3464
0.6.5-rc1
Melanie Thielker 2009-04-27 23:12:35 +00:00
parent 4ec9979475
commit 6b5a110857
1 changed files with 3 additions and 3 deletions

View File

@ -51,7 +51,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
private uint PERM_COPY = (uint)32768; private uint PERM_COPY = (uint)32768;
//private uint PERM_MODIFY = (uint)16384; //private uint PERM_MODIFY = (uint)16384;
private uint PERM_MOVE = (uint)524288; private uint PERM_MOVE = (uint)524288;
//private uint PERM_TRANS = (uint)8192; private uint PERM_TRANS = (uint)8192;
private uint PERM_LOCKED = (uint)540672; private uint PERM_LOCKED = (uint)540672;
/// <value> /// <value>
@ -1132,14 +1132,14 @@ namespace OpenSim.Region.CoreModules.World.Permissions
if ((task.RootPart.EveryoneMask & PERM_COPY) != 0) if ((task.RootPart.EveryoneMask & PERM_COPY) != 0)
permission = true; permission = true;
if ((task.GetEffectivePermissions() & PERM_COPY) == 0) if ((task.GetEffectivePermissions() & (PERM_COPY | PERM_TRANS)) != (PERM_COPY | PERM_TRANS))
permission = false; permission = false;
} }
else else
{ {
SceneObjectGroup task = (SceneObjectGroup)m_scene.Entities[objectID]; SceneObjectGroup task = (SceneObjectGroup)m_scene.Entities[objectID];
if ((task.GetEffectivePermissions() & PERM_COPY) == 0) if ((task.GetEffectivePermissions() & (PERM_COPY | PERM_TRANS)) != (PERM_COPY | PERM_TRANS))
permission = false; permission = false;
} }