On Wed, 24 Apr 2019 at 07:15, Zhiyi Zhang zzhang@codeweavers.com wrote:
On 4/24/19 1:54 AM, Henri Verbeet wrote:
Would it make sense to adapt the existing wined3d_wndproc_table in wined3d to handle DXGI window associations?
I am sure it will make more sense. If we use wined3d_wndproc_table then it doesn't explain why set up a hook to ignore WM_SYSKEYDOWN breaks Alt+Enter, or why SendMessage(WM_SYSKEYDOWN) don't trigger Alt+Enter while PostMessage(WM_SYSKEYDOWN) does. It seems more accurate to set up a hook to intercept message before GetMessage returns.
Another thing may be of interest. Application doesn't receive a WM_SYSKEYDOWN(Alt+Enter) when Alt+Enter is pressed.
I'm not objecting to using hooks, although it would still be good to have tests to validate that e.g. MakeWindowAssociation() or swapchain creation doesn't change GWLP_WNDPROC on the window. It seems undesirable though to track the window to swapchain/device association in two different places, and to a lesser extent the same goes for handling the events themselves.