diff options
author | andreykproductengine <andreykproductengine@lindenlab.com> | 2018-09-14 18:27:31 +0300 |
---|---|---|
committer | andreykproductengine <andreykproductengine@lindenlab.com> | 2018-09-14 18:27:31 +0300 |
commit | 3988bc8d85e593926c16282d8bd5094060da654b (patch) | |
tree | 2e70b71ca65c796e6e108c0b662788429aec8ecc /indra | |
parent | 8290206887972bcd3d3acac0a02d9df37a82e637 (diff) |
SL-9653 EEP Blender abruptly jumps from correct value to initial
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llenvironment.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/indra/newview/llenvironment.cpp b/indra/newview/llenvironment.cpp index 4b60ed4e68..6981203e75 100644 --- a/indra/newview/llenvironment.cpp +++ b/indra/newview/llenvironment.cpp @@ -1818,7 +1818,14 @@ LLSettingsBase::BlendFactor LLTrackBlenderLoopingManual::setPosition(const LLSet F64 spanPos = ((mPosition < (*bounds.first).first) ? (mPosition + 1.0) : mPosition) - (*bounds.first).first; - F64 blendf = fmod(spanPos, spanLength) / spanLength; + if (spanPos > spanLength) + { + // we are clamping position to 0-1 and spanLength is 1 + // so don't account for case of spanPos == spanLength + spanPos = fmod(spanPos, spanLength); + } + + F64 blendf = spanPos / spanLength; return LLSettingsBlender::setBlendFactor(blendf); } |