https://bugs.winehq.org/show_bug.cgi?id=49097
Bug ID: 49097 Summary: Treeview unduly handles WM_SYSKEYDOWN Product: Wine Version: unspecified Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: comctl32 Assignee: wine-bugs@winehq.org Reporter: contact@kcsoftwares.com Distribution: ---
Treeview unduly handles WM_SYSKEYDOWN
Refer to treeview.c case WM_KEYDOWN: case WM_SYSKEYDOWN: return TREEVIEW_KeyDown(infoPtr, wParam);
No such processing on Listview : case WM_KEYDOWN: return LISTVIEW_KeyDown(infoPtr, (INT)wParam, (LONG)lParam);
As a consequence, WM_SYSKEYDOWN not correctly passed to parent Wnd if focus is on a Treeview control.
Proof of concept : Use ReactOS. Open Regedit or Event Viewer. Put focus on treeview. Alt+F4 does nothing (WM_SYSKEYDOWN "stuck" at Treeview component level)
Suggested patch : change case WM_KEYDOWN: case WM_SYSKEYDOWN: return TREEVIEW_KeyDown(infoPtr, wParam); into case WM_KEYDOWN: return TREEVIEW_KeyDown(infoPtr, wParam);
as no reason to handle WM_SYSKEYDOWN at component level.
https://bugs.winehq.org/show_bug.cgi?id=49097
Kyle_Katarn contact@kcsoftwares.com changed:
What |Removed |Added ---------------------------------------------------------------------------- OS|Linux |other
https://bugs.winehq.org/show_bug.cgi?id=49097
--- Comment #1 from Nikolay Sivov bunglehead@gmail.com --- According to logs it's there for bug 41015. Please attach standalone test program that reproduces this problem.
https://bugs.winehq.org/show_bug.cgi?id=49097
--- Comment #2 from Kyle_Katarn contact@kcsoftwares.com --- Thanks for your feedback
Problem in https://bugs.winehq.org/show_bug.cgi?id=41015 was that control did not receive WM_KEYDOWN, while the fix goes the other way arround, preventing the parent app to get the WM_SYSKEYDOWN. Moreover https://bugs.winehq.org/show_bug.cgi?id=41015 was pending a test for which no evidence was provided. Is it effective ? Was it a specific WinUAE design ?
As a PoC Current implementation prevents any ReactOS application using a treeview to close with ALT+F4 if focus is on a treeview component. No problem with other ComCtl32 component (listview,...) as WM_SYSKEYDOWN not "stolen" by the control.
Looking at Windows : no difference between Up/Down and Alt+Up/Down on treeview. Therefore i'd suggest to reconsider (or re-confirm) the need expressed in https://bugs.winehq.org/show_bug.cgi?id=41015
Am I missing something ?
https://bugs.winehq.org/show_bug.cgi?id=49097
--- Comment #3 from Nikolay Sivov bunglehead@gmail.com --- I have no problem with Alt+F4 in Control Spy, when Treeview is focused. What I need is a source code of minimal test program that shows the issue, or a diff for wine treeview tests, whatever is easier for you.
https://bugs.winehq.org/show_bug.cgi?id=49097
--- Comment #4 from Kyle_Katarn contact@kcsoftwares.com --- (In reply to Nikolay Sivov from comment #3)
I have no problem with Alt+F4 in Control Spy, when Treeview is focused. What I need is a source code of minimal test program that shows the issue, or a diff for wine treeview tests, whatever is easier for you.
Regedit from last ReactOS build (or eventviewer) are off-the shelf case where the problem is systematic (and fully solved by removing the undue WM_SYSKEYDOWN trap at component level).
https://bugs.winehq.org/show_bug.cgi?id=49097
--- Comment #5 from Nikolay Sivov bunglehead@gmail.com --- Any progress with that minimal test case?
https://bugs.winehq.org/show_bug.cgi?id=49097
--- Comment #6 from Kyle_Katarn contact@kcsoftwares.com --- Regedit (or eventviewer) from former (0.4.13) ReactOS build are off-the shelf case where the problem is systematic (and fully solved by removing the undue WM_SYSKEYDOWN trap at component level).
https://bugs.winehq.org/show_bug.cgi?id=49097
--- Comment #7 from Nikolay Sivov bunglehead@gmail.com --- Ok, I'll try to clarify. I has to be a standalone to avoid any possible interaction with dialog code, parent window logic, other components, possible focus differences and so on.
https://bugs.winehq.org/show_bug.cgi?id=49097
--- Comment #8 from Kyle_Katarn contact@kcsoftwares.com --- OK, i understand.... unfortunately, i'm unable to produce one. Maybe a kind developper would help here ?