Merged in maxim_productengine/viewer-eep (pull request #312)

SL-10818 FIXED [EEP] Wrong selection when keyframes are close together

Approved-by: Andrey Kleshchev <andreykproductengine@lindenlab.com>
master
Rider Linden 2019-03-27 17:17:12 +00:00
commit 2bbb6c7e02
1 changed files with 6 additions and 2 deletions

View File

@ -859,11 +859,15 @@ LLSettingsDay::CycleTrack_t::value_type LLSettingsDay::getSettingsNearKeyframe(c
if (startframe < 0.0f)
startframe = 1.0f + startframe;
CycleTrack_t::iterator it = get_wrapping_atafter(const_cast<CycleTrack_t &>(mDayTracks[track]), startframe);
LLSettingsDay::CycleTrack_t collection = const_cast<CycleTrack_t &>(mDayTracks[track]);
CycleTrack_t::iterator it = get_wrapping_atafter(collection, startframe);
F32 dist = get_wrapping_distance(startframe, (*it).first);
if (dist <= (fudge * 2.0f))
CycleTrack_t::iterator next_it = std::next(it);
if ((dist <= DEFAULT_MULTISLIDER_INCREMENT) && next_it != collection.end())
return (*next_it);
else if (dist <= (fudge * 2.0f))
return (*it);
return CycleTrack_t::value_type(TrackPosition(INVALID_TRACKPOS), LLSettingsBase::ptr_t());