diff options
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 13 |
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; |