aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorMelanie Thielker2010-08-05 18:50:17 +0200
committerMelanie Thielker2010-08-05 18:50:17 +0200
commit8bdbcda2b70ede033c38a604af573554dd2776ad (patch)
tree7e0045b3e8c258ee23c49d6254def831bb7c3843 /OpenSim/Region
parentRevert "Enforce a 0.2 second sleep on llDie() before the command is executed ... (diff)
downloadopensim-SC_OLD-8bdbcda2b70ede033c38a604af573554dd2776ad.zip
opensim-SC_OLD-8bdbcda2b70ede033c38a604af573554dd2776ad.tar.gz
opensim-SC_OLD-8bdbcda2b70ede033c38a604af573554dd2776ad.tar.bz2
opensim-SC_OLD-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.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs9
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs9
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;