SL-10875 FIXED [EEP] Selecting the Day Cycle window causes the previous keyframe to become selected if keyframes are close together

meow-7.2.2
maxim_productengine 2019-04-04 18:09:23 +03:00
parent 2151bc797e
commit 64942c5cd1
1 changed files with 12 additions and 2 deletions

View File

@ -1151,8 +1151,19 @@ void LLFloaterEditExtDayCycle::selectFrame(F32 frame, F32 slop_factor)
while (iter != end_iter)
{
F32 keyframe = iter->second.mFrame;
if (fabs(keyframe - frame) <= slop_factor)
F32 frame_dif = fabs(keyframe - frame);
if (frame_dif <= slop_factor)
{
keymap_t::iterator next_iter = std::next(iter);
if ((frame_dif != 0) && (next_iter != end_iter))
{
if (fabs(next_iter->second.mFrame - frame) < frame_dif)
{
mFramesSlider->setCurSlider(next_iter->first);
frame = next_iter->second.mFrame;
break;
}
}
mFramesSlider->setCurSlider(iter->first);
frame = iter->second.mFrame;
break;
@ -1301,7 +1312,6 @@ void LLFloaterEditExtDayCycle::updateSlider()
{
// update positions
mLastFrameSlider = mFramesSlider->getCurSlider();
updateTabs();
}
else
{