From: Rafal Harabien Date: Wed, 5 Oct 2011 19:11:00 +0000 (+0000) Subject: [WIN32K] - Don't send unicode characters in WM_CHAR to ascii windows X-Git-Tag: backups/iut-netsh@54410~373 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=b59b7569557076c999447d743bad14442aeace4f [WIN32K] - Don't send unicode characters in WM_CHAR to ascii windows svn path=/trunk/; revision=54014 --- diff --git a/reactos/subsystems/win32/win32k/ntuser/keyboard.c b/reactos/subsystems/win32/win32k/ntuser/keyboard.c index a0a59beaa24..4c4077e8bed 100644 --- a/reactos/subsystems/win32/win32k/ntuser/keyboard.c +++ b/reactos/subsystems/win32/win32k/ntuser/keyboard.c @@ -1050,7 +1050,15 @@ IntTranslateKbdMessage(LPMSG lpMsg, for (i = 0; i < cch; ++i) { TRACE("Msg: %x '%lc' (%04x) %08x\n", NewMsg.message, wch[i], wch[i], NewMsg.lParam); - NewMsg.wParam = wch[i]; + if (pWnd->Unicode) + NewMsg.wParam = wch[i]; + else + { + CHAR ch; + if (!NT_SUCCESS(RtlUnicodeToMultiByteN(&ch, sizeof(ch), NULL, &wch[i], sizeof(wch[i])))) + WARN("RtlUnicodeToMultiByteN failed!\n"); + NewMsg.wParam = ch; + } MsqPostMessage(pti->MessageQueue, &NewMsg, FALSE, QS_KEY); } bResult = TRUE;