user32/edit: Fix WM_CHAR handler for double-byte characters.
commitc385b6475e6ad07227a1ef29593170af1c3cbf99
authorAkihiro Sagawa <sagawa.aki@gmail.com>
Fri, 20 Jan 2023 14:55:59 +0000 (20 23:55 +0900)
committerAlexandre Julliard <julliard@winehq.org>
Tue, 24 Jan 2023 19:09:10 +0000 (24 20:09 +0100)
treee3fb5a24fbd1de55d9ad792f9355977e20e0645e
parentcbe3a39b647e029df16faf1dcce2958f1ee418d0
user32/edit: Fix WM_CHAR handler for double-byte characters.

After commit 2aa54a90bd24f6aa422a2eb832a54d9afe585259, a double-byte
character is sent to the edit control by double WM_CHAR messages.
However, its WM_CHAR handler (ANSI version) can't process a double-
byte character properly because the handler converts WM_CHAR to WCHAR
one by one.
This fix queues the double-byte lead byte as it comes in and then uses
it afterwards for the WCHAR conversion.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54337
dlls/user32/edit.c
dlls/user32/tests/edit.c