aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs5
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs5
2 files changed, 2 insertions, 8 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index 9772b35..000944f 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -433,7 +433,7 @@ namespace OpenSim.Region.Framework.Scenes
433// m_log.DebugFormat("[XXX]: B: {0} O: {1} E: {2}", itemUpd.BasePermissions, itemUpd.CurrentPermissions, itemUpd.EveryOnePermissions); 433// m_log.DebugFormat("[XXX]: B: {0} O: {1} E: {2}", itemUpd.BasePermissions, itemUpd.CurrentPermissions, itemUpd.EveryOnePermissions);
434 const uint permALLandExport = (uint)(PermissionMask.All | PermissionMask.Export); 434 const uint permALLandExport = (uint)(PermissionMask.All | PermissionMask.Export);
435 // If the user is not the creator or doesn't have "E" in both "B" and "O", deny setting export 435 // If the user is not the creator or doesn't have "E" in both "B" and "O", deny setting export
436 if (item.CreatorIdAsUuid != item.Owner || 436 if (item.CreatorIdAsUuid != item.Owner &&
437 ((item.BasePermissions & permALLandExport) != permALLandExport || 437 ((item.BasePermissions & permALLandExport) != permALLandExport ||
438 (item.CurrentPermissions & (uint)PermissionMask.Export) == 0)) 438 (item.CurrentPermissions & (uint)PermissionMask.Export) == 0))
439 denyExportChange = true; 439 denyExportChange = true;
@@ -451,12 +451,10 @@ namespace OpenSim.Region.Framework.Scenes
451 { 451 {
452 itemUpd.NextPermissions = (uint)(PermissionMask.All); 452 itemUpd.NextPermissions = (uint)(PermissionMask.All);
453 itemUpd.EveryOnePermissions |= (uint)PermissionMask.Export; 453 itemUpd.EveryOnePermissions |= (uint)PermissionMask.Export;
454 sendUpdate = true;
455 } 454 }
456 else 455 else
457 { 456 {
458 itemUpd.EveryOnePermissions &= ~(uint)PermissionMask.Export; 457 itemUpd.EveryOnePermissions &= ~(uint)PermissionMask.Export;
459 sendUpdate = true;
460 } 458 }
461 } 459 }
462 else 460 else
@@ -466,7 +464,6 @@ namespace OpenSim.Region.Framework.Scenes
466 { 464 {
467// m_log.DebugFormat("[XXX]: Force full perm"); 465// m_log.DebugFormat("[XXX]: Force full perm");
468 itemUpd.NextPermissions = (uint)(PermissionMask.All); 466 itemUpd.NextPermissions = (uint)(PermissionMask.All);
469 sendUpdate = true;
470 } 467 }
471 } 468 }
472 469
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs
index 68d80f0..98617d1 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs
@@ -258,8 +258,7 @@ namespace OpenSim.Region.Framework.Scenes
258 uint perms=(uint)(PermissionMask.Modify | 258 uint perms=(uint)(PermissionMask.Modify |
259 PermissionMask.Copy | 259 PermissionMask.Copy |
260 PermissionMask.Move | 260 PermissionMask.Move |
261 PermissionMask.Transfer | 261 PermissionMask.Transfer) | 7;
262 PermissionMask.Export ) | 7;
263 262
264 uint ownerMask = 0x7fffffff; 263 uint ownerMask = 0x7fffffff;
265 264
@@ -282,8 +281,6 @@ namespace OpenSim.Region.Framework.Scenes
282 perms &= ~(uint)PermissionMask.Copy; 281 perms &= ~(uint)PermissionMask.Copy;
283 if ((ownerMask & (uint)PermissionMask.Transfer) == 0) 282 if ((ownerMask & (uint)PermissionMask.Transfer) == 0)
284 perms &= ~(uint)PermissionMask.Transfer; 283 perms &= ~(uint)PermissionMask.Transfer;
285 if ((ownerMask & (uint)PermissionMask.Export) == 0)
286 perms &= ~(uint)PermissionMask.Export;
287 284
288 // If root prim permissions are applied here, this would screw 285 // If root prim permissions are applied here, this would screw
289 // with in-inventory manipulation of the next owner perms 286 // with in-inventory manipulation of the next owner perms