Refresh the snapshot when calling show after instance exists (IE: Via Keyboard shortcut)
Should never have been removed in the first place, the purpose of 7faa19b297 was to have an explicit click to refresh, this patch requires an explicit click.
This does NOT break keeping the same snapshot while switching settings
This fixes a bug where unref() was called when a state machine was
aborted before it reached bs_initialized. Debug code was added to detect
errors related to that.
In order to run HTTPGetResponder in any thread, I needed direct access
to LLHTTPClient::request, so I had to move that to the header file,
and therefore had to move ERequestAction from LLURLRequest to
LLHTTPClient to avoid include problems.
With this, textures are fetched with no latency: call to
LLHTTPClient::request runs all the way till the state machine is idle
(AICurlEasyRequestStateMachine_waitAdded). There is small delay till the
curl thread wakes up, which then processes the request and opens the url
etc. When the transaction is finished, it calls
AIStateMachine::advance_state(AICurlEasyRequestStateMachine_removed_after_finished)
which subsequently doesn't return until the state machine is completely
finished (bs_killed). The LLURLRequest isn't deleted yet at that point
because the AITimer of the LLURLRequest runs in the main thread: it is
aborted, but only the next time the main thread state engines run that
is deleted and the timer keeps an LLPointer to it's parent, the
LLURLRequest, so only then the LLURLRequest object is destructed. This
however has nothing to do with the texture-bandwidth loop.
Fixes the segfault that was accidentally overlooked because voice decided to not return after the first run as I worked on all the other warnings
Thanks to Latif Khalifa for the VoiceMultiInstance debug setting which enabled me to use voice again.
Cleans up some related code, probably looks nicer with space changes off.. though this is a pretty straightforward change.
Comments out code that still exists in xmls or might likely be added in future.
Each piece tested quite a bit.
Fixes the issue with notifications not translating
Moves the UI initialization code block up a few lines to the same area as v-d and sunshine-external have it.
This more clearly shows how it relates with upstream code such that future changes in this area might avoid similar issues.