This makes the class API a bit more sane, although
only a bit, because I had to leave it working with
possibly new code merged in from LL: the API can't
really change. I also removed some unused code.
While reviewing how LLFrameTimer worked however,
I did find a few instances where things where broken:
* sFrameDeltaTime wasn't correctly updated (more
than once per frame and therefore erratic). This
only influenced scrolling speed, but still.
* While dragging an inventory item, the scroll
arrows of a tab container didn't work
(LLTabContainer::handleDragAndDrop).
* Map zoom interpolation was broken (it interpolated
between A and B, but used the already updated
interpolation for A the next frame...
(added mCurZoomValInterpolationStart).
LLFrameTimer::sFrameTime is accessed by the texture
thread as well. Although the only consequences are
that it's possible for a timer in the texture thread
to time out too early (or to never time out when
it's started) when it reads this variable at the
same time as that it is updated, which is pretty
inlikely, it's just not-done to leave anything
thread-unsafe when it's known to be thread-unsafe.
This patch also adds a framework for AIFrameTimer, but
that isn't implemented yet.
This makes the class API a bit more sane, although
only a bit, because I had to leave it working with
possibly new code merged in from LL: the API can't
really change. I also removed some unused code.
While reviewing how LLFrameTimer worked however,
I did find a few instances where things where broken:
* sFrameDeltaTime wasn't correctly updated (more
than once per frame and therefore erratic). This
only influenced scrolling speed, but still.
* While dragging an inventory item, the scroll
arrows of a tab container didn't work
(LLTabContainer::handleDragAndDrop).
* Map zoom interpolation was broken (it interpolated
between A and B, but used the already updated
interpolation for A the next frame...
(added mCurZoomValInterpolationStart).
This introduces some API changes, like the new LLDirIterator,
that causes changes elsewhere.
It also include Log Linden's cache changes that aren't in
viewer-development yet that increase the maximum cache size
to ~10 GB.
How can this every have compiled? Please don't push commits
without first at least compiling it :/
Using '#else if' instead of '#elif'?!
indra/newview/llappviewer.cpp:797:7: error: extra tokens at end of #else directive
This fixes the bug that if you Quit while in the Singularity -> Pose
Stand, then you are permanently hovering over the group until you go
into Advanced -> Debug Settings and reset AscentAvatarZModifier.
It also fixes that before, when you changed AscentAvatarZModifier
in Advanced -> Debug Settings then you saw no effect (until the
viewer would sent an AvatarAppearance message.
After this patch, changing any of the AscentAvatar*Modifier settings
has immediate visible effect, and a pose stand (Z-offset) is reset
when quitting.
LLInstanceTracker added to llcommon (pulled from llui in v2 for usage elsewhere)
LLEventTimer now using LLInstanceTracker
Updated LLLiveAppConfig (Though it appears unused, really)
processor.h is obsolete, thus removed. (llprocessor.h replaces it)
Wrapped gSettings and the global objects returned by Settings::get() and
Globals::get() in AIThreadSafe, forcing thread-safe access.
This solves the problem of possible corruption of the various LevelMap's
in LLError::Settings due to thread unsafe accesses.