From 037373b825235235e89112abe81f985efa052c2a Mon Sep 17 00:00:00 2001 From: dahlia Date: Mon, 25 Apr 2011 17:11:54 -0700 Subject: recover from unhandled exception from bad rotation data while processing entity updates in LLClientView.cs --- OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/ClientStack/LindenUDP') diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 1f7e66d..0f7f666 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -4764,7 +4764,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP data.RelativePosition.ToBytes(objectData, 0); data.Velocity.ToBytes(objectData, 12); data.Acceleration.ToBytes(objectData, 24); - data.RotationOffset.ToBytes(objectData, 36); + try + { + data.RotationOffset.ToBytes(objectData, 36); + } + catch (Exception e) + { + m_log.Warn("[LLClientView]: exception converting quaternion to bytes, using Quaternion.Identity. Exception: " + e.ToString()); + OpenMetaverse.Quaternion.Identity.ToBytes(objectData, 36); + } data.AngularVelocity.ToBytes(objectData, 48); ObjectUpdatePacket.ObjectDataBlock update = new ObjectUpdatePacket.ObjectDataBlock(); -- cgit v1.1