diff options
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index c670076..a188701 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | |||
@@ -1186,11 +1186,21 @@ namespace OpenSim.Region.Environment.Scenes | |||
1186 | 1186 | ||
1187 | if (part != null) | 1187 | if (part != null) |
1188 | { | 1188 | { |
1189 | if (part.OwnerID != remoteClient.AgentId) | ||
1190 | return; | ||
1191 | 1189 | ||
1192 | if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0) | 1190 | // replacing the following two checks with the |
1193 | return; | 1191 | // ExternalChecks.ExternalChecksCanEditObject(...) |
1192 | // call | ||
1193 | |||
1194 | // if (part.OwnerID != remoteClient.AgentId) | ||
1195 | // return; | ||
1196 | |||
1197 | // if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0) | ||
1198 | // return; | ||
1199 | |||
1200 | if (!ExternalChecks.ExternalChecksCanEditObject(part.UUID, remoteClient.AgentId)) | ||
1201 | { | ||
1202 | return; | ||
1203 | } | ||
1194 | 1204 | ||
1195 | TaskInventoryItem currentItem = part.GetInventoryItem(itemID); | 1205 | TaskInventoryItem currentItem = part.GetInventoryItem(itemID); |
1196 | 1206 | ||
@@ -1283,11 +1293,23 @@ System.Console.WriteLine("Item asset {0}, request asset {1}", prevItem.AssetID.T | |||
1283 | SceneObjectPart part = GetSceneObjectPart(localID); | 1293 | SceneObjectPart part = GetSceneObjectPart(localID); |
1284 | if (part != null) | 1294 | if (part != null) |
1285 | { | 1295 | { |
1296 | |||
1297 | /* | ||
1286 | if (part.OwnerID != remoteClient.AgentId) | 1298 | if (part.OwnerID != remoteClient.AgentId) |
1299 | { | ||
1287 | return; | 1300 | return; |
1301 | } | ||
1288 | 1302 | ||
1289 | if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0) | 1303 | if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0) |
1304 | { | ||
1290 | return; | 1305 | return; |
1306 | } | ||
1307 | */ | ||
1308 | |||
1309 | if (!ExternalChecks.ExternalChecksCanEditObject(part.UUID, remoteClient.AgentId)) | ||
1310 | { | ||
1311 | return; | ||
1312 | } | ||
1291 | 1313 | ||
1292 | part.ParentGroup.AddInventoryItem(remoteClient, localID, item, copyID); | 1314 | part.ParentGroup.AddInventoryItem(remoteClient, localID, item, copyID); |
1293 | // TODO: set this to "true" when scripts in inventory have persistent state to fire on_rez | 1315 | // TODO: set this to "true" when scripts in inventory have persistent state to fire on_rez |