Module: wine Branch: master Commit: 1b778dbea7350c6c2bf82850d54c7dae6839b214 URL: https://gitlab.winehq.org/wine/wine/-/commit/1b778dbea7350c6c2bf82850d54c7da...
Author: Rémi Bernon rbernon@codeweavers.com Date: Tue Mar 28 12:43:59 2023 +0200
imm32: Send WM_IME_SELECT messages when IME is activated.
---
dlls/imm32/imm.c | 8 ++++---- dlls/imm32/tests/imm32.c | 4 ---- 2 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c index 9b3dfc00eae..d73be37736a 100644 --- a/dlls/imm32/imm.c +++ b/dlls/imm32/imm.c @@ -619,7 +619,6 @@ static BOOL free_input_context_data( HIMC hIMC )
if (data->ui_hwnd) DestroyWindow( data->ui_hwnd ); data->ime->pImeSelect( hIMC, FALSE ); - SendMessageW( data->IMC.hWnd, WM_IME_SELECT, FALSE, (LPARAM)data->ime );
ImmDestroyIMCC( data->IMC.hCompStr ); ImmDestroyIMCC( data->IMC.hCandInfo ); @@ -912,7 +911,6 @@ static struct imc *create_input_context( HIMC default_imc ) }
imc_select_hkl( new_context, GetKeyboardLayout( 0 ) ); - SendMessageW( GetFocus(), WM_IME_SELECT, TRUE, (LPARAM)new_context->ime );
TRACE("Created context %p\n", new_context); return new_context; @@ -3164,10 +3162,12 @@ static LRESULT ime_internal_msg( WPARAM wparam, LPARAM lparam) break; case IME_INTERNAL_HKL_ACTIVATE: ImmEnumInputContext( 0, enum_activate_layout, 0 ); - hwnd = get_ime_ui_window(); + if (!(hwnd = get_ime_ui_window())) break; + SendMessageW( hwnd, WM_IME_SELECT, TRUE, lparam ); break; case IME_INTERNAL_HKL_DEACTIVATE: - hwnd = get_ime_ui_window(); + if (!(hwnd = get_ime_ui_window())) break; + SendMessageW( hwnd, WM_IME_SELECT, FALSE, lparam ); break; default: FIXME("wparam = %Ix\n", wparam); diff --git a/dlls/imm32/tests/imm32.c b/dlls/imm32/tests/imm32.c index 2cb3c7009ab..713d72a2f81 100644 --- a/dlls/imm32/tests/imm32.c +++ b/dlls/imm32/tests/imm32.c @@ -4023,7 +4023,6 @@ static void test_ImmActivateLayout(void) { .hkl = expect_ime, .himc = default_himc, .func = MSG_IME_UI, .message = {.msg = WM_IME_SELECT, .wparam = 1, .lparam = (LPARAM)expect_ime}, - .todo = TRUE, }, { .hkl = expect_ime, .himc = default_himc, @@ -4062,7 +4061,6 @@ static void test_ImmActivateLayout(void) { .hkl = expect_ime, .himc = default_himc, .func = MSG_IME_UI, .message = {.msg = WM_IME_SELECT, .wparam = 0, .lparam = (LPARAM)expect_ime}, - .todo = TRUE, }, { .hkl = default_hkl, .himc = default_himc, @@ -4224,7 +4222,6 @@ static void test_ImmCreateInputContext(void) { .hkl = expect_ime, .himc = default_himc, .func = MSG_IME_UI, .message = {.msg = WM_IME_SELECT, .wparam = 1, .lparam = (LPARAM)expect_ime}, - .todo = TRUE, }, { .hkl = expect_ime, .himc = default_himc, @@ -4270,7 +4267,6 @@ static void test_ImmCreateInputContext(void) { .hkl = expect_ime, .himc = default_himc, .func = MSG_IME_UI, .message = {.msg = WM_IME_SELECT, .wparam = 0, .lparam = (LPARAM)expect_ime}, - .todo = TRUE, }, { .hkl = default_hkl, .himc = default_himc,