aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs21
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,