aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs13
1 files changed, 12 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index dc9a6ed..661e9db 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -4761,6 +4761,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4761 else 4761 else
4762 attachPoint = 0; 4762 attachPoint = 0;
4763 4763
4764// m_log.DebugFormat(
4765// "[LLCLIENTVIEW]: Sending attachPoint {0} for {1} {2} to {3}",
4766// attachPoint, part.Name, part.LocalId, Name);
4767
4764 collisionPlane = Vector4.Zero; 4768 collisionPlane = Vector4.Zero;
4765 position = part.RelativePosition; 4769 position = part.RelativePosition;
4766 velocity = part.Velocity; 4770 velocity = part.Velocity;
@@ -4925,9 +4929,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4925 else 4929 else
4926 { 4930 {
4927 update.NameValue = Utils.EmptyBytes; 4931 update.NameValue = Utils.EmptyBytes;
4928 update.State = data.Shape.State; 4932
4933 // The root part state is the canonical state for all parts of the object. The other part states in the
4934 // case for attachments may contain conflicting values that can end up crashing the viewer.
4935 update.State = data.ParentGroup.RootPart.Shape.State;
4929 } 4936 }
4930 4937
4938// m_log.DebugFormat(
4939// "[LLCLIENTVIEW]: Sending state {0} for {1} {2} to {3}",
4940// update.State, data.Name, data.LocalId, Name);
4941
4931 update.ObjectData = objectData; 4942 update.ObjectData = objectData;
4932 update.ParentID = data.ParentID; 4943 update.ParentID = data.ParentID;
4933 update.PathBegin = data.Shape.PathBegin; 4944 update.PathBegin = data.Shape.PathBegin;