From: Rémi Bernon rbernon@codeweavers.com
--- dlls/imm32/imm.c | 1 + dlls/win32u/tests/win32u.c | 6 ------ 2 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c index 1a0f0579c0b..6d22516dbf0 100644 --- a/dlls/imm32/imm.c +++ b/dlls/imm32/imm.c @@ -633,6 +633,7 @@ BOOL WINAPI DllMain( HINSTANCE instance, DWORD reason, void *reserved ) if (!User32InitializeImmEntryTable( IMM_INIT_MAGIC )) return FALSE; break; case DLL_THREAD_ATTACH: + NtUserGetThreadInfo()->default_imc = (UINT_PTR)NtUserCreateInputContext( 0 ); break; case DLL_THREAD_DETACH: IMM_FreeThreadData(); diff --git a/dlls/win32u/tests/win32u.c b/dlls/win32u/tests/win32u.c index 04e5a2e7932..b309b51ddd4 100644 --- a/dlls/win32u/tests/win32u.c +++ b/dlls/win32u/tests/win32u.c @@ -333,7 +333,6 @@ static DWORD CALLBACK test_NtUserBuildHimcList_thread( void *arg ) memset( buf, 0xcd, sizeof(buf) ); status = NtUserBuildHimcList( GetCurrentThreadId(), ARRAYSIZE( buf ), buf, &size ); ok( !status, "NtUserBuildHimcList failed: %#lx\n", status ); - todo_wine ok( size == 1, "size = %u\n", size ); ok( !!buf[0], "buf[0] = %p\n", buf[0] );
@@ -346,16 +345,11 @@ static DWORD CALLBACK test_NtUserBuildHimcList_thread( void *arg ) memset( buf, 0xcd, sizeof(buf) ); status = NtUserBuildHimcList( -1, ARRAYSIZE( buf ), buf, &size ); ok( !status, "NtUserBuildHimcList failed: %#lx\n", status ); - todo_wine ok( size == 3, "size = %u\n", size );
qsort( buf, size, sizeof(*buf), himc_compare ); - /* FIXME: Wine only lazily creates a default thread IMC */ - todo_wine ok( buf[0] == himc[0], "buf[0] = %p\n", buf[0] ); - todo_wine ok( buf[1] == himc[1], "buf[1] = %p\n", buf[1] ); - todo_wine ok( buf[2] == himc[2], "buf[2] = %p\n", buf[2] );
return 0;