diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/InnerScene.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/InnerScene.cs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs index 329f900..2b28b2a 100644 --- a/OpenSim/Region/Environment/Scenes/InnerScene.cs +++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs | |||
@@ -981,6 +981,12 @@ namespace OpenSim.Region.Environment.Scenes | |||
981 | SceneObjectGroup group = GetGroupByPrim(localID); | 981 | SceneObjectGroup group = GetGroupByPrim(localID); |
982 | if (group != null) | 982 | if (group != null) |
983 | { | 983 | { |
984 | LLVector3 oldPos = group.AbsolutePosition; | ||
985 | if (!PermissionsMngr.CanObjectEntry(remoteClient.AgentId, oldPos, pos)) | ||
986 | { | ||
987 | group.SendGroupTerseUpdate(); | ||
988 | return; | ||
989 | } | ||
984 | if (PermissionsMngr.CanEditObjectPosition(remoteClient.AgentId, group.UUID)) | 990 | if (PermissionsMngr.CanEditObjectPosition(remoteClient.AgentId, group.UUID)) |
985 | { | 991 | { |
986 | group.UpdateSinglePosition(pos, localID); | 992 | group.UpdateSinglePosition(pos, localID); |
@@ -999,6 +1005,12 @@ namespace OpenSim.Region.Environment.Scenes | |||
999 | SceneObjectGroup group = GetGroupByPrim(localID); | 1005 | SceneObjectGroup group = GetGroupByPrim(localID); |
1000 | if (group != null) | 1006 | if (group != null) |
1001 | { | 1007 | { |
1008 | LLVector3 oldPos = group.AbsolutePosition; | ||
1009 | if (!PermissionsMngr.CanObjectEntry(remoteClient.AgentId, oldPos, pos)) | ||
1010 | { | ||
1011 | group.SendGroupTerseUpdate(); | ||
1012 | return; | ||
1013 | } | ||
1002 | if (PermissionsMngr.CanEditObjectPosition(remoteClient.AgentId, group.UUID)) | 1014 | if (PermissionsMngr.CanEditObjectPosition(remoteClient.AgentId, group.UUID)) |
1003 | { | 1015 | { |
1004 | group.UpdateGroupPosition(pos); | 1016 | group.UpdateGroupPosition(pos); |