mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-06 03:30:58 +00:00
imm32: Re-create the IME UI window when IME changes.
This commit is contained in:
parent
2504a2d7bc
commit
bb2414fdb1
|
@ -3150,21 +3150,24 @@ static BOOL is_ime_ui_msg(UINT msg)
|
|||
|
||||
static LRESULT ime_internal_msg( WPARAM wparam, LPARAM lparam)
|
||||
{
|
||||
HWND hwnd = (HWND)lparam;
|
||||
HWND hwnd;
|
||||
HIMC himc;
|
||||
|
||||
switch (wparam)
|
||||
{
|
||||
case IME_INTERNAL_ACTIVATE:
|
||||
case IME_INTERNAL_DEACTIVATE:
|
||||
hwnd = (HWND)lparam;
|
||||
himc = ImmGetContext(hwnd);
|
||||
ImmSetActiveContext(hwnd, himc, wparam == IME_INTERNAL_ACTIVATE);
|
||||
ImmReleaseContext(hwnd, himc);
|
||||
break;
|
||||
case IME_INTERNAL_HKL_ACTIVATE:
|
||||
ImmEnumInputContext( 0, enum_activate_layout, 0 );
|
||||
hwnd = get_ime_ui_window();
|
||||
break;
|
||||
case IME_INTERNAL_HKL_DEACTIVATE:
|
||||
hwnd = get_ime_ui_window();
|
||||
break;
|
||||
default:
|
||||
FIXME("wparam = %Ix\n", wparam);
|
||||
|
|
|
@ -4183,7 +4183,7 @@ static void test_ImmActivateLayout(void)
|
|||
|
||||
ok_ret( 1, EnumThreadWindows( GetCurrentThreadId(), enum_thread_ime_windows, (LPARAM)&ime_windows ) );
|
||||
ok( !!ime_windows.ime_hwnd, "missing IME window\n" );
|
||||
todo_wine ok( !!ime_windows.ime_ui_hwnd, "missing IME UI window\n" );
|
||||
ok( !!ime_windows.ime_ui_hwnd, "missing IME UI window\n" );
|
||||
todo_wine ok_ret( (UINT_PTR)ime_windows.ime_hwnd, (UINT_PTR)GetParent( ime_windows.ime_ui_hwnd ) );
|
||||
|
||||
todo_ImeDestroy = TRUE; /* Wine doesn't leak the IME */
|
||||
|
|
Loading…
Reference in a new issue