From f822e772418d4ee77f91066f2a69309aa30fb5b8 Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Thu, 19 Jul 2018 22:21:08 +0300 Subject: [PATCH] Checking if the position is valid in Ragdoll.FindHull --- .../Source/Characters/Animation/Ragdoll.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs b/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs index 3a5f28887..3a9fbcd73 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs @@ -744,7 +744,15 @@ namespace Barotrauma public void FindHull(Vector2? worldPosition = null, bool setSubmarine = true) { - Vector2 findPos = worldPosition==null ? this.WorldPosition : (Vector2)worldPosition; + Vector2 findPos = worldPosition == null ? this.WorldPosition : (Vector2)worldPosition; + if (!MathUtils.IsValid(findPos)) + { + GameAnalyticsManager.AddErrorEventOnce( + "Ragdoll.FindHull:InvalidPosition", + GameAnalyticsSDK.Net.EGAErrorSeverity.Error, + "Attempted to find a hull at an invalid position (" + findPos + ")\n" + Environment.StackTrace); + return; + } Hull newHull = Hull.FindHull(findPos, currentHull);