diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index e61132e..167e166 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -1592,16 +1592,32 @@ namespace OpenSim.Region.Framework.Scenes | |||
1592 | // So that we know the database is upto date, | 1592 | // So that we know the database is upto date, |
1593 | // for when deleting the object from it | 1593 | // for when deleting the object from it |
1594 | ForceSceneObjectBackup(grp); | 1594 | ForceSceneObjectBackup(grp); |
1595 | if (remoteClient != null) | 1595 | |
1596 | if (remoteClient == null) | ||
1597 | { | ||
1598 | // Autoreturn has a null client. Nothing else does. So | ||
1599 | // allow only returns | ||
1600 | if (action != DeRezAction.Return) | ||
1601 | return; | ||
1602 | |||
1603 | permissionToTakeCopy = false; | ||
1604 | } | ||
1605 | else | ||
1596 | { | 1606 | { |
1597 | if (!Permissions.CanTakeCopyObject(grp.UUID, remoteClient.AgentId)) | 1607 | if (action == DeRezAction.TakeCopy) |
1608 | { | ||
1609 | if (!Permissions.CanTakeCopyObject(grp.UUID, remoteClient.AgentId)) | ||
1610 | permissionToTakeCopy = false; | ||
1611 | } | ||
1612 | else | ||
1613 | { | ||
1598 | permissionToTakeCopy = false; | 1614 | permissionToTakeCopy = false; |
1615 | } | ||
1599 | if (!Permissions.CanTakeObject(grp.UUID, remoteClient.AgentId)) | 1616 | if (!Permissions.CanTakeObject(grp.UUID, remoteClient.AgentId)) |
1600 | permissionToTake = false; | 1617 | permissionToTake = false; |
1601 | 1618 | ||
1602 | if (!Permissions.CanDeleteObject(grp.UUID, remoteClient.AgentId)) | 1619 | if (!Permissions.CanDeleteObject(grp.UUID, remoteClient.AgentId)) |
1603 | permissionToDelete = false; | 1620 | permissionToDelete = false; |
1604 | |||
1605 | } | 1621 | } |
1606 | } | 1622 | } |
1607 | 1623 | ||