implement g_app_launch_context_get_environment for win32
Submitted by Allison (desrt)
Link to original bug (#659326)
Description
We currently do two things a lot in GLib these days:
- make lots of worker threads
- call gettext() in them
The second happens for seemingly innocent reasons like accessing a type macro for the first time, causing a class_init function to be called which uses _() on its property strings.
gettext is not threadsafe. In particular, _() can indirectly result in calls to getenv() which is not threadsafe. We're starting to see some crash traces showing up on this codepath.
We need to take a look at what we do in GLib (and probably other libraries) to avoid calling gettext from any of our worker threads.