From 6ee61f9ba1092f16e4930f7bd172fe72bab3cc6e Mon Sep 17 00:00:00 2001 From: Juergen Schmied Date: Mon, 10 Jul 2000 13:06:58 +0000 Subject: [PATCH] Moved setting the locale value to the right position. --- scheduler/thread.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scheduler/thread.c b/scheduler/thread.c index 8c425e4c807..0ee4d62cdf8 100644 --- a/scheduler/thread.c +++ b/scheduler/thread.c @@ -90,6 +90,7 @@ static BOOL THREAD_InitTEB( TEB *teb ) teb->StaticUnicodeString.MaximumLength = sizeof(teb->StaticUnicodeBuffer); teb->StaticUnicodeString.Buffer = (PWSTR)teb->StaticUnicodeBuffer; teb->teb_sel = SELECTOR_AllocBlock( teb, 0x1000, SEGMENT_DATA, TRUE, FALSE ); + teb->CurrentLocale = GetUserDefaultLCID(); /* for threads in user context */ return (teb->teb_sel != 0); } @@ -271,6 +272,10 @@ static void THREAD_Start(void) /*********************************************************************** * CreateThread (KERNEL32.63) + * + * NOTE + * this function is not called for the first thread of a process + * do initializations in THREAD_InitTEB */ HANDLE WINAPI CreateThread( SECURITY_ATTRIBUTES *sa, DWORD stack, LPTHREAD_START_ROUTINE start, LPVOID param, @@ -297,7 +302,6 @@ HANDLE WINAPI CreateThread( SECURITY_ATTRIBUTES *sa, DWORD stack, teb->entry_arg = param; teb->startup = THREAD_Start; teb->htask16 = GetCurrentTask(); - teb->CurrentLocale = GetUserDefaultLCID(); /* for threads in user context */ if (id) *id = (DWORD)tid; if (SYSDEPS_SpawnThread( teb ) == -1) { -- 2.11.4.GIT