From 8d20d61b4d305b985de4837bb0ed3ddaedb208d1 Mon Sep 17 00:00:00 2001 From: Brad Linden Date: Wed, 31 May 2023 10:33:03 -0700 Subject: Fix divide by zero causing NaN with certain day cycles in DRTVWR-559 --- indra/newview/llenvironment.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/newview/llenvironment.cpp') diff --git a/indra/newview/llenvironment.cpp b/indra/newview/llenvironment.cpp index aec7ceaa3c..58da164b5a 100644 --- a/indra/newview/llenvironment.cpp +++ b/indra/newview/llenvironment.cpp @@ -168,6 +168,9 @@ namespace // Find normalized track position of given time along full length of cycle inline LLSettingsBase::TrackPosition convert_time_to_position(const LLSettingsBase::Seconds& time, const LLSettingsBase::Seconds& len) { + // early out to avoid divide by zero. if len is zero then jump to end position + if (len == 0.f) return 1.f; + LLSettingsBase::TrackPosition position = LLSettingsBase::TrackPosition(fmod((F64)time, (F64)len) / (F64)len); return llclamp(position, 0.0f, 1.0f); } -- cgit v1.2.3