]> git.saurik.com Git - wxWidgets.git/commitdiff
Force wide char environment version initialization in wxGetEnvMap().
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 30 Jun 2012 16:33:40 +0000 (16:33 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 30 Jun 2012 16:33:40 +0000 (16:33 +0000)
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

src/common/utilscmn.cpp

index 535c455a66fd42c1f7f59b6df4ce30b08bbed931..147b3748b554ddd4f244642379b6a63b6624f19d 100644 (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