https://bugs.winehq.org/show_bug.cgi?id=51395
Bug ID: 51395 Summary: user32:win gets an unexpected 0x7fff message in the Korean locale Product: Wine Version: 6.10 Hardware: x86-64 OS: Windows Status: NEW Severity: normal Priority: P2 Component: user32 Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com
user32:win gets an unexpected 0x7fff message in the Korean locale, thus triggering the following failures:
https://test.winehq.org/data/patterns.html#user32:win
win.c:4005: Test failed: hwnd 0000000001AD0418 message 7fff win.c:4011: Test failed: message 7fff available win.c:4040: Test failed: hwnd 0000000000250424/00000000008F01E0 message 0287 win.c:4045: Test failed: hwnd 0000000000250424/00000000008F01E0 message 0287 win.c:4050: Test failed: hwnd 00000000008F01E0/00000000008F01E0 message 0201 win.c:4059: Test failed: message 0203 available win.c:4071: Test failed: hwnd 0000000000250424/0000000000520450 message 0287 win.c:4075: Test failed: hwnd 0000000000250424/0000000000520450 message 0287 win.c:4084: Test failed: hwnd 0000000001AD0418/00000000008F01E0 message 7fff win.c:4087: Test failed: hwnd 0000000001AD0418/00000000008F01E0 message 7fff win.c:4120: Test failed: hwnd 0000000000250424/00000000002303F6 message 0287 win.c:4122: Test failed: wparam 32 win.c:4126: Test failed: hwnd 0000000000250424/00000000002303F6 message 0287 win.c:4133: Test failed: hwnd 00000000002303F6/00000000002303F6 message 0201 win.c:4150: Test failed: message 0203 available
I could not find any documentation about 0x7fff. However changing the keyboard layout from Korean to Qwerty fixes the issue. So it is likely related to the Korean IME module.
Unfortunately adding 0x7fff to ignore_message() causes user32:win to get stuck.
https://bugs.winehq.org/show_bug.cgi?id=51395
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source, testcase
https://bugs.winehq.org/show_bug.cgi?id=51395
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|user32:win gets an |user32:input, user32:win |unexpected 0x7fff message |gets an unexpected 0x7fff |in the Korean locale |message in the Korean | |locale
--- Comment #1 from François Gouget fgouget@codeweavers.com --- user32:input has the same issue after a SendInput() call: (I did not test changing the keyboard layout)
https://test.winehq.org/data/patterns.html#user32:input
input.c:4451: Test failed: SendInput triggered unexpected message 0x7fff input.c:4469: Test failed: SendInput triggered unexpected message 0x7fff
https://bugs.winehq.org/show_bug.cgi?id=51395
--- Comment #2 from François Gouget fgouget@codeweavers.com --- Created attachment 70311 --> https://bugs.winehq.org/attachment.cgi?id=70311 user32:win Dump the 0x7fff messages
The attached patch shows that the 0x7fff message is not sent to one of the windows created by the test.
win.c:4042: Test failed: hwnd 00010306 message 7fff win.c:55: hwnd=000201D6 pid=8080 tid=2128 now=84671 win.c:56: hwnd=00010306 message=7fff wParam=302 lParam=0 time=84671 pt=(250,250) win.c:60: wnd: parent=00000000 owner=00000000 win.c:65: wnd: pid=8080 tid=2128 class=46 L"{A028AE76-01B1-46C2-99C4-ACD9858AE02F}.message" text=0 L"" win.c:72: hwnd=00010306 is a message-only window
So it is sent: * To a windows with the class "{A028AE76-01B1-46C2-99C4-ACD9858AE02F}.message". This class seems to be related to the Korean IME. * And that window is a message-only window. * This is the case for both the user32:input and user32:win tests.