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.
This commit contains all changes, except those in indra/media_plugins
(which was renamed to indra/plugins) and indra/llplugin.
However, it does contain the (new) file
indra/plugins/filepicker/basic_plugin_filepicker.cpp
This is the skeleton needed to implement classes that can be reused and
work together, which can perform asynchronous tasks (read: need to wait
for certain events before they can continue).
An example would be the task of waiting for a given inventory folder to
be read. This could then be used to improve the builtin AO
(automatically reading that folder when a notecard is dropped, and
continuing when the whole folder is read).
It's first use will be communication with a filepicker that runs
in a plugin.
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.