diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 7d09c9a..cc0b8ba 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -1487,7 +1487,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1487 | } | 1487 | } |
1488 | } | 1488 | } |
1489 | } | 1489 | } |
1490 | 1490 | ||
1491 | /// <summary> | 1491 | /// <summary> |
1492 | /// | 1492 | /// |
1493 | /// </summary> | 1493 | /// </summary> |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index 843ae3d..c94bfd9 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |||
@@ -1201,6 +1201,17 @@ namespace OpenSim.Region.Environment.Scenes | |||
1201 | } | 1201 | } |
1202 | break; | 1202 | break; |
1203 | } | 1203 | } |
1204 | else | ||
1205 | { | ||
1206 | // If you can't edit it, send the base permissions minus the flag to edit | ||
1207 | if (!ParentGroup.m_scene.PermissionsMngr.CanEditObject(remoteClient.AgentId, this.ParentGroup.UUID)) | ||
1208 | { | ||
1209 | clientFlags = ObjectFlags &= ~(uint)LLObject.ObjectFlags.ObjectModify; | ||
1210 | clientFlags = clientFlags &= ~(uint)LLObject.ObjectFlags.ObjectMove; | ||
1211 | clientFlags = clientFlags &= ~(uint)LLObject.ObjectFlags.AllowInventoryDrop; | ||
1212 | clientFlags = clientFlags &= ~(uint)LLObject.ObjectFlags.ObjectTransfer; | ||
1213 | } | ||
1214 | } | ||
1204 | } | 1215 | } |
1205 | 1216 | ||
1206 | byte[] color = new byte[] { m_color.R, m_color.G, m_color.B, m_color.A }; | 1217 | byte[] color = new byte[] { m_color.R, m_color.G, m_color.B, m_color.A }; |