diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs index 7c0cd77..c393479 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs | |||
@@ -104,11 +104,16 @@ namespace OpenSim.Region.Environment.Scenes | |||
104 | { | 104 | { |
105 | if (ent is SceneObjectGroup) | 105 | if (ent is SceneObjectGroup) |
106 | { | 106 | { |
107 | |||
107 | if (((SceneObjectGroup) ent).LocalId == primLocalID) | 108 | if (((SceneObjectGroup) ent).LocalId == primLocalID) |
108 | { | 109 | { |
109 | ((SceneObjectGroup) ent).GetProperties(remoteClient); | 110 | // A prim is only tainted if it's allowed to be edited by the person clicking it. |
110 | ((SceneObjectGroup) ent).IsSelected = true; | 111 | if (m_permissionManager.CanEditObjectPosition(remoteClient.AgentId, ((SceneObjectGroup)ent).UUID) || m_permissionManager.CanEditObject(remoteClient.AgentId, ((SceneObjectGroup)ent).UUID)) |
111 | LandManager.setPrimsTainted(); | 112 | { |
113 | ((SceneObjectGroup) ent).GetProperties(remoteClient); | ||
114 | ((SceneObjectGroup) ent).IsSelected = true; | ||
115 | LandManager.setPrimsTainted(); | ||
116 | } | ||
112 | break; | 117 | break; |
113 | } | 118 | } |
114 | } | 119 | } |
@@ -130,9 +135,12 @@ namespace OpenSim.Region.Environment.Scenes | |||
130 | { | 135 | { |
131 | if (((SceneObjectGroup) ent).LocalId == primLocalID) | 136 | if (((SceneObjectGroup) ent).LocalId == primLocalID) |
132 | { | 137 | { |
133 | ((SceneObjectGroup) ent).IsSelected = false; | 138 | if (m_permissionManager.CanEditObjectPosition(remoteClient.AgentId, ((SceneObjectGroup)ent).UUID) || m_permissionManager.CanEditObject(remoteClient.AgentId, ((SceneObjectGroup)ent).UUID)) |
134 | LandManager.setPrimsTainted(); | 139 | { |
135 | break; | 140 | ((SceneObjectGroup) ent).IsSelected = false; |
141 | LandManager.setPrimsTainted(); | ||
142 | break; | ||
143 | } | ||
136 | } | 144 | } |
137 | } | 145 | } |
138 | } | 146 | } |