just give up on Export flag, seems just broken no matter water with current FS and singu 1.8.7
parent
c93551d8f4
commit
df7435a703
|
@ -433,7 +433,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
// m_log.DebugFormat("[XXX]: B: {0} O: {1} E: {2}", itemUpd.BasePermissions, itemUpd.CurrentPermissions, itemUpd.EveryOnePermissions);
|
// m_log.DebugFormat("[XXX]: B: {0} O: {1} E: {2}", itemUpd.BasePermissions, itemUpd.CurrentPermissions, itemUpd.EveryOnePermissions);
|
||||||
const uint permALLandExport = (uint)(PermissionMask.All | PermissionMask.Export);
|
const uint permALLandExport = (uint)(PermissionMask.All | PermissionMask.Export);
|
||||||
// If the user is not the creator or doesn't have "E" in both "B" and "O", deny setting export
|
// If the user is not the creator or doesn't have "E" in both "B" and "O", deny setting export
|
||||||
if (item.CreatorIdAsUuid != item.Owner &&
|
if (item.CreatorIdAsUuid != item.Owner ||
|
||||||
((item.BasePermissions & permALLandExport) != permALLandExport ||
|
((item.BasePermissions & permALLandExport) != permALLandExport ||
|
||||||
(item.CurrentPermissions & (uint)PermissionMask.Export) == 0))
|
(item.CurrentPermissions & (uint)PermissionMask.Export) == 0))
|
||||||
denyExportChange = true;
|
denyExportChange = true;
|
||||||
|
@ -451,10 +451,12 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
itemUpd.NextPermissions = (uint)(PermissionMask.All);
|
itemUpd.NextPermissions = (uint)(PermissionMask.All);
|
||||||
itemUpd.EveryOnePermissions |= (uint)PermissionMask.Export;
|
itemUpd.EveryOnePermissions |= (uint)PermissionMask.Export;
|
||||||
|
sendUpdate = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
itemUpd.EveryOnePermissions &= ~(uint)PermissionMask.Export;
|
itemUpd.EveryOnePermissions &= ~(uint)PermissionMask.Export;
|
||||||
|
sendUpdate = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -464,6 +466,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat("[XXX]: Force full perm");
|
// m_log.DebugFormat("[XXX]: Force full perm");
|
||||||
itemUpd.NextPermissions = (uint)(PermissionMask.All);
|
itemUpd.NextPermissions = (uint)(PermissionMask.All);
|
||||||
|
sendUpdate = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -258,7 +258,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
uint perms=(uint)(PermissionMask.Modify |
|
uint perms=(uint)(PermissionMask.Modify |
|
||||||
PermissionMask.Copy |
|
PermissionMask.Copy |
|
||||||
PermissionMask.Move |
|
PermissionMask.Move |
|
||||||
PermissionMask.Transfer) | 7;
|
PermissionMask.Transfer |
|
||||||
|
PermissionMask.Export ) | 7;
|
||||||
|
|
||||||
uint ownerMask = 0x7fffffff;
|
uint ownerMask = 0x7fffffff;
|
||||||
|
|
||||||
|
@ -281,6 +282,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
perms &= ~(uint)PermissionMask.Copy;
|
perms &= ~(uint)PermissionMask.Copy;
|
||||||
if ((ownerMask & (uint)PermissionMask.Transfer) == 0)
|
if ((ownerMask & (uint)PermissionMask.Transfer) == 0)
|
||||||
perms &= ~(uint)PermissionMask.Transfer;
|
perms &= ~(uint)PermissionMask.Transfer;
|
||||||
|
if ((ownerMask & (uint)PermissionMask.Export) == 0)
|
||||||
|
perms &= ~(uint)PermissionMask.Export;
|
||||||
|
|
||||||
// If root prim permissions are applied here, this would screw
|
// If root prim permissions are applied here, this would screw
|
||||||
// with in-inventory manipulation of the next owner perms
|
// with in-inventory manipulation of the next owner perms
|
||||||
|
|
Loading…
Reference in New Issue