imm32: Use default IME window WM_DESTROY to call imm_couninit_thread.

This commit is contained in:
Jacek Caban 2022-07-08 14:20:52 +02:00 committed by Alexandre Julliard
parent d7d9344003
commit 8f3e19a52f
2 changed files with 8 additions and 2 deletions

View file

@ -1028,7 +1028,6 @@ static HWND imm_detach_default_window(IMMThreadData *thread_data)
to_destroy = thread_data->hwndDefault;
thread_data->hwndDefault = NULL;
thread_data->windowRefs = 0;
imm_couninit_thread(TRUE);
return to_destroy;
}
@ -3470,6 +3469,14 @@ LRESULT WINAPI __wine_ime_wnd_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lp
init_messages();
return TRUE;
case WM_DESTROY:
{
HWND default_hwnd = ImmGetDefaultIMEWnd(0);
if (!default_hwnd || hwnd == default_hwnd)
imm_couninit_thread(TRUE);
}
return TRUE;
case WM_IME_INTERNAL:
return ime_internal_msg(wparam, lparam);
}

View file

@ -3760,7 +3760,6 @@ static void test_SetActiveWindow_0_proc( char **argv )
else /* < Win10 */
{
ok( tmp == hwnd, "SetActiveWindow returned %p\n", tmp );
todo_wine
ok( GetLastError() == 0, "got error %lu\n", GetLastError() );
tmp = GetForegroundWindow();