diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.Inventory.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 132f15d..6cc78b8 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -1144,11 +1144,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
1144 | return; | 1144 | return; |
1145 | } | 1145 | } |
1146 | 1146 | ||
1147 | UUID partUUID = part.UUID; | ||
1148 | SceneObjectGroup group = part.ParentGroup; | ||
1149 | if (group != null) | ||
1150 | partUUID = group.RootPart.UUID; | ||
1151 | |||
1152 | TaskInventoryItem taskItem = part.Inventory.GetInventoryItem(itemId); | 1147 | TaskInventoryItem taskItem = part.Inventory.GetInventoryItem(itemId); |
1153 | 1148 | ||
1154 | if (null == taskItem) | 1149 | if (null == taskItem) |
@@ -1160,18 +1155,19 @@ namespace OpenSim.Region.Framework.Scenes | |||
1160 | return; | 1155 | return; |
1161 | } | 1156 | } |
1162 | 1157 | ||
1163 | if ((taskItem.CurrentPermissions & (uint)PermissionMask.Copy) == 0) | 1158 | TaskInventoryItem item = part.Inventory.GetInventoryItem(itemId); |
1159 | if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0) | ||
1164 | { | 1160 | { |
1165 | // If the item to be moved is no copy, we need to be able to | 1161 | // If the item to be moved is no copy, we need to be able to |
1166 | // edit the prim. | 1162 | // edit the prim. |
1167 | if (!Permissions.CanEditObjectInventory(partUUID, remoteClient.AgentId)) | 1163 | if (!Permissions.CanEditObjectInventory(part.UUID, remoteClient.AgentId)) |
1168 | return; | 1164 | return; |
1169 | } | 1165 | } |
1170 | else | 1166 | else |
1171 | { | 1167 | { |
1172 | // If the item is copiable, then we just need to have perms | 1168 | // If the item is copiable, then we just need to have perms |
1173 | // on it. The delete check is a pure rights check | 1169 | // on it. The delete check is a pure rights check |
1174 | if (!Permissions.CanDeleteObject(partUUID, remoteClient.AgentId)) | 1170 | if (!Permissions.CanDeleteObject(part.UUID, remoteClient.AgentId)) |
1175 | return; | 1171 | return; |
1176 | } | 1172 | } |
1177 | 1173 | ||