Aric Stewart : imm32: Handle keyboard changes when processing input.
Module: wine Branch: master Commit: 836bd1fdaedb62d066271912bd4b37c7f82b33a7 URL: http://source.winehq.org/git/wine.git/?a=commit;h=836bd1fdaedb62d066271912bd... Author: Aric Stewart <aric(a)codeweavers.com> Date: Tue Oct 28 13:03:33 2014 -0500 imm32: Handle keyboard changes when processing input. --- dlls/imm32/imm.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c index 33a0d6da..1418fc8 100644 --- a/dlls/imm32/imm.c +++ b/dlls/imm32/imm.c @@ -2882,6 +2882,22 @@ BOOL WINAPI ImmProcessKey(HWND hwnd, HKL hKL, UINT vKey, LPARAM lKeyData, DWORD else return FALSE; + /* Make sure we are inputting to the correct keyboard */ + if (data->immKbd->hkl != hKL) + { + ImmHkl *new_hkl = IMM_GetImmHkl(hKL); + if (new_hkl) + { + data->immKbd->pImeSelect(imc, FALSE); + data->immKbd->uSelected--; + data->immKbd = new_hkl; + data->immKbd->pImeSelect(imc, TRUE); + data->immKbd->uSelected++; + } + else + return FALSE; + } + if (!data->immKbd->hIME || !data->immKbd->pImeProcessKey) return FALSE;
participants (1)
-
Alexandre Julliard