Aric Stewart aric@codeweavers.com writes:
@@ -507,7 +524,7 @@ HIMC WINAPI ImmAssociateContext(HWND hWnd, HIMC hIMC) LeaveCriticalSection(&threaddata_cs); defaultContext = ImmCreateContext(); ((InputContextData*)defaultContext)->threadDefault = TRUE;
thread_data = IMM_GetThreadData(0);
}thread_data = IMM_GetThreadDataForWindow(hWnd); thread_data->defaultContext = defaultContext;
You have multiple race conditions here.