msvcrt: Fix locale initialization.
authorPiotr Caban <piotr@codeweavers.com>
Thu, 15 Apr 2010 21:13:59 +0000 (23:13 +0200)
committerAlexandre Julliard <julliard@winehq.org>
Fri, 16 Apr 2010 10:37:33 +0000 (12:37 +0200)
dlls/msvcrt/main.c

index e2184b37792fb8c0cbe4497d363cc87bd7214154..272ba71f4c96cffdc98a3710fc5490717e9cbe2e 100644 (file)
@@ -87,16 +87,14 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
   switch (fdwReason)
   {
   case DLL_PROCESS_ATTACH:
+    if (!msvcrt_init_tls())
+      return FALSE;
     msvcrt_init_mt_locks();
     if(!MSVCRT_setlocale(0, "C")) {
         msvcrt_free_mt_locks();
+        msvcrt_free_tls_mem();
         return FALSE;
     }
-    if (!msvcrt_init_tls()) {
-      _free_locale(MSVCRT_locale);
-      msvcrt_free_mt_locks();
-      return FALSE;
-    }
     msvcrt_init_io();
     msvcrt_init_console();
     msvcrt_init_args();