From 77184c7b52af7d1cabbb89de53b3dec0b3290288 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Fri, 29 Nov 2024 14:34:07 +0100 Subject: [PATCH] Fix crash when curve zoom was too high --- Source/Editor/Utilities/Utils.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/Editor/Utilities/Utils.cs b/Source/Editor/Utilities/Utils.cs index 7afe9ad0c..8d73abf4d 100644 --- a/Source/Editor/Utilities/Utils.cs +++ b/Source/Editor/Utilities/Utils.cs @@ -250,6 +250,8 @@ namespace FlaxEditor.Utilities internal static Int2 DrawCurveTicks(DrawCurveTick drawTick, float[] tickSteps, ref float[] tickStrengths, float min, float max, float pixelRange, float minDistanceBetweenTicks = 20, float maxDistanceBetweenTicks = 60) { + if (pixelRange <= Mathf.Epsilon || maxDistanceBetweenTicks <= minDistanceBetweenTicks) + return Int2.Zero; if (tickStrengths == null || tickStrengths.Length != tickSteps.Length) tickStrengths = new float[tickSteps.Length]; @@ -286,7 +288,7 @@ namespace FlaxEditor.Utilities continue; // Draw all ticks - int l = Mathf.Clamp(smallestTick + level, 0, tickSteps.Length - 1); + int l = Mathf.Clamp(smallestTick + level, 0, tickSteps.Length - 2); var lStep = tickSteps[l]; var lNextStep = tickSteps[l + 1]; int startTick = Mathf.FloorToInt(min / lStep);