summaryrefslogtreecommitdiff
path: root/indra/newview/llenvironment.cpp
diff options
context:
space:
mode:
authorGraham Linden <graham@lindenlab.com>2019-03-15 11:02:17 -0700
committerGraham Linden <graham@lindenlab.com>2019-03-15 11:02:17 -0700
commit4a5e7350e7a42d4cfbfa088b09a0f987fd49fb8f (patch)
tree60eded5ac2cb9eda0537b1c98cdd1bf5a5f8b65e /indra/newview/llenvironment.cpp
parenta10ec81e82d79bd79d5b058fda1b370073bfb480 (diff)
parent58582fb6212a3ccd8ff2f52a59a398b4041bba79 (diff)
Merge
Diffstat (limited to 'indra/newview/llenvironment.cpp')
-rw-r--r--indra/newview/llenvironment.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/indra/newview/llenvironment.cpp b/indra/newview/llenvironment.cpp
index 18777e53d1..3defe68a0e 100644
--- a/indra/newview/llenvironment.cpp
+++ b/indra/newview/llenvironment.cpp
@@ -297,9 +297,18 @@ namespace
void onFinishedSpan()
{
- LLSettingsDay::TrackBound_t next = getBoundingEntries(getAdjustedNow());
+ LLSettingsBase::Seconds adjusted_now = getAdjustedNow();
+ LLSettingsDay::TrackBound_t next = getBoundingEntries(adjusted_now);
LLSettingsBase::Seconds nextspan = getSpanTime(next);
+
reset((*next.first).second, (*next.second).second, nextspan);
+
+ // Recalculate (reinitialize) position. Because:
+ // - 'delta' from applyTimeDelta accumulates errors (probably should be fixed/changed to absolute time)
+ // - freezes and lag can result in reset being called too late, so we need to add missed time
+ // - occasional time corrections can happen
+ // - some transition switches can happen outside applyTimeDelta thus causing 'desync' from 'delta' (can be fixed by getting rid of delta)
+ initializeTarget(adjusted_now);
}
};