diff options
author | Melanie Thielker | 2010-08-05 18:50:17 +0200 |
---|---|---|
committer | Melanie Thielker | 2010-08-05 18:50:17 +0200 |
commit | 8bdbcda2b70ede033c38a604af573554dd2776ad (patch) | |
tree | 7e0045b3e8c258ee23c49d6254def831bb7c3843 | |
parent | Revert "Enforce a 0.2 second sleep on llDie() before the command is executed ... (diff) | |
download | opensim-SC-8bdbcda2b70ede033c38a604af573554dd2776ad.zip opensim-SC-8bdbcda2b70ede033c38a604af573554dd2776ad.tar.gz opensim-SC-8bdbcda2b70ede033c38a604af573554dd2776ad.tar.bz2 opensim-SC-8bdbcda2b70ede033c38a604af573554dd2776ad.tar.xz |
We already have a record of killed prims. It just wasn't used by the new
JHurlicane code anymore. Use it to prevent sending updates after kills.
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 9 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 9 |
2 files changed, 18 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 4ab719d..0b8b95b 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -3514,6 +3514,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3514 | EntityUpdate update; | 3514 | EntityUpdate update; |
3515 | while (updatesThisCall < maxUpdates && m_entityUpdates.TryDequeue(out update)) | 3515 | while (updatesThisCall < maxUpdates && m_entityUpdates.TryDequeue(out update)) |
3516 | { | 3516 | { |
3517 | // If we have sent a kill packet for this object | ||
3518 | // drop any updates on the floor | ||
3519 | if (update.Entity is SceneObjectPart) | ||
3520 | { | ||
3521 | SceneObjectPart part = (SceneObjectPart)update.Entity; | ||
3522 | if (m_killRecord.Contains(part.ParentGroup.RootPart.LocalId)) | ||
3523 | continue; | ||
3524 | } | ||
3525 | |||
3517 | ++updatesThisCall; | 3526 | ++updatesThisCall; |
3518 | 3527 | ||
3519 | #region UpdateFlags to packet type conversion | 3528 | #region UpdateFlags to packet type conversion |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 032fbe8..67cb7cc 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -3043,6 +3043,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
3043 | UUID ownerID = _ownerID; | 3043 | UUID ownerID = _ownerID; |
3044 | UUID objectID = UUID; | 3044 | UUID objectID = UUID; |
3045 | UUID parentID = GetRootPartUUID(); | 3045 | UUID parentID = GetRootPartUUID(); |
3046 | |||
3047 | if (ParentGroup.IsAttachment && ParentGroup.RootPart.Shape.State > 30) | ||
3048 | { | ||
3049 | // Use the avatar as the parent for HUDs, since the prims | ||
3050 | // are not sent to other avatars | ||
3051 | objectID = _ownerID; | ||
3052 | parentID = _ownerID; | ||
3053 | } | ||
3054 | |||
3046 | UUID soundID = UUID.Zero; | 3055 | UUID soundID = UUID.Zero; |
3047 | Vector3 position = AbsolutePosition; // region local | 3056 | Vector3 position = AbsolutePosition; // region local |
3048 | ulong regionHandle = m_parentGroup.Scene.RegionInfo.RegionHandle; | 3057 | ulong regionHandle = m_parentGroup.Scene.RegionInfo.RegionHandle; |