Force wide char environment version initialization in wxGetEnvMap().

When using MSVC CRT, the wide character version of the environment is not
always initialized when using main() (and not _wmain()) as entry point, so
force initializing it before using _tenviron.

Closes #14231.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2012-06-30 16:33:40 +00:00
parent a523d3c643
commit 6f41c10973

View File

@@ -551,6 +551,11 @@ bool wxGetEnvMap(wxEnvVariableHashMap *map)
wxCHECK_MSG( map, false, wxS("output pointer can't be NULL") );
#if defined(__VISUALC__)
// This variable only exists to force the CRT to fill the wide char array,
// it might only have it in narrow char version until now as we use main()
// (and not _wmain()) as our entry point.
static wxChar* s_dummyEnvVar = _tgetenv(wxT("TEMP"));
wxChar **env = _tenviron;
#elif defined(__VMS)
// Now this routine wil give false for OpenVMS