diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs index b0ecb80..2a32851 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs | |||
@@ -260,21 +260,18 @@ namespace OpenSim.Region.Framework.Scenes | |||
260 | return; | 260 | return; |
261 | 261 | ||
262 | bool oldgprSelect = part.ParentGroup.IsSelected; | 262 | bool oldgprSelect = part.ParentGroup.IsSelected; |
263 | 263 | bool oldSelect = part.IsSelected; | |
264 | // This is wrong, wrong, wrong. Selection should not be | 264 | part.IsSelected = false; |
265 | // handled by group, but by prim. Legacy cruft. | 265 | |
266 | // TODO: Make selection flagging per prim! | 266 | if (oldgprSelect != part.ParentGroup.IsSelected) |
267 | // | ||
268 | if (Permissions.CanChangeSelectedState(part, (ScenePresence)remoteClient.SceneAgent)) | ||
269 | { | 267 | { |
270 | part.IsSelected = false; | 268 | if (!part.ParentGroup.IsAttachment ) |
271 | if (!part.ParentGroup.IsAttachment && oldgprSelect != part.ParentGroup.IsSelected) | ||
272 | EventManager.TriggerParcelPrimCountTainted(); | 269 | EventManager.TriggerParcelPrimCountTainted(); |
273 | |||
274 | // restore targetOmega | ||
275 | if (part.AngularVelocity != Vector3.Zero) | ||
276 | part.ScheduleTerseUpdate(); | ||
277 | } | 270 | } |
271 | |||
272 | // restore targetOmega | ||
273 | if (oldSelect && part.AngularVelocity != Vector3.Zero) | ||
274 | part.ScheduleTerseUpdate(); | ||
278 | } | 275 | } |
279 | 276 | ||
280 | public virtual void ProcessMoneyTransferRequest(UUID source, UUID destination, int amount, | 277 | public virtual void ProcessMoneyTransferRequest(UUID source, UUID destination, int amount, |