[Bug 50067] New: Duplicate keyboard message if call PeekMessage from WH_KEYBOARD hook
https://bugs.winehq.org/show_bug.cgi?id=50067 Bug ID: 50067 Summary: Duplicate keyboard message if call PeekMessage from WH_KEYBOARD hook Product: Wine Version: 5.20 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: user32 Assignee: wine-bugs(a)winehq.org Reporter: psn8402(a)gmail.com Distribution: --- In the VerseQ keyboard simulator, hotkey events are duplicated. For example F1 opens 2 help windows. Below is an excerpt from the log, where you can see that while the hook is active, PeekMessage is called, and it receives the same keypress event. I've added a test for this case. It passes under Windows but fails in Wine. It looks like on Windows the message is removed from the queue before the hook is called. Possibly the same problem exists with mouse messages and rawinput but I haven't tested them. VerseQ download link https://www.verseq.ru/files/VerseQ.2011.12.31.zip Please note that it only has a Russian interface. Log excerpt 342097.147:0024:Call user32.PeekMessageA(0031fb10,00000000,00000000,00000000,00000001) ret=005d98cc 342097.148:0024:trace:msg:peek_message got type 7 msg 100 (WM_KEYDOWN) hwnd 000300AA wp 73 lp 3e0001 342097.148:0024:Call hook proc 004141A8 (id=WH_KEYBOARD,code=0,wp=00000073,lp=003e0001) 342097.148:0024:Call user32.PeekMessageA(0031f164,00000000,00000000,00000000,00000001) ret=005d98cc 342097.148:0024:trace:msg:peek_message got type 7 msg 100 (WM_KEYDOWN) hwnd 000300AA wp 73 lp 3e0001 342097.148:0024:Call hook proc 004141A8 (id=WH_KEYBOARD,code=0,wp=00000073,lp=003e0001) 342097.149:0024:Ret hook proc 004141A8 (id=WH_KEYBOARD,code=0,wp=00000073,lp=003e0001) retval=00000000 0024: accept_hardware_message( hw_id=00000095 ) 0024: accept_hardware_message() = 0 342097.151:0024:Ret user32.PeekMessageA() retval=00000001 ret=005d98cc 342097.166:0024:Ret hook proc 004141A8 (id=WH_KEYBOARD,code=0,wp=00000073,lp=003e0001) retval=00000000 0024: accept_hardware_message( hw_id=00000095 ) 0024: accept_hardware_message() = 0 342097.166:0024:Ret user32.PeekMessageA() retval=00000001 ret=005d98cc -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50067 --- Comment #1 from Sergey Petrushkin <psn8402(a)gmail.com> --- Created attachment 68523 --> https://bugs.winehq.org/attachment.cgi?id=68523 testcase patch -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50067 --- Comment #2 from Sergey Petrushkin <psn8402(a)gmail.com> --- Created attachment 68524 --> https://bugs.winehq.org/attachment.cgi?id=68524 fix -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50067 --- Comment #3 from Sergey Petrushkin <psn8402(a)gmail.com> --- Created attachment 68525 --> https://bugs.winehq.org/attachment.cgi?id=68525 wine log -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50067 --- Comment #4 from Sergey Petrushkin <psn8402(a)gmail.com> --- VerseQ is a typewriter trainer, not keyboard simulator. Google translate is so google translate. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50067 Sergey Petrushkin <psn8402(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, patch, testcase -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50067 Sergey Petrushkin <psn8402(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |psn8402(a)gmail.com -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla