[PATCH] comctl32: Send EVENT_OBJECT_STATECHANGE when checking a checkbox
Nikolay Sivov
nsivov at codeweavers.com
Tue Feb 8 00:27:27 CST 2022
On 2/8/22 09:17, Alex Henrie wrote:
> The NVDA screen reader needs this.
>
> Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
> ---
> dlls/comctl32/button.c | 1 +
> dlls/user32/tests/msg.c | 18 +++++++++---------
> 2 files changed, 10 insertions(+), 9 deletions(-)
>
> diff --git a/dlls/comctl32/button.c b/dlls/comctl32/button.c
> index 88b48a4a5c0..faf0212b256 100644
> --- a/dlls/comctl32/button.c
> +++ b/dlls/comctl32/button.c
> @@ -656,6 +656,7 @@ static LRESULT CALLBACK BUTTON_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, L
> break;
> }
> SendMessageW( hWnd, BM_SETSTATE, FALSE, 0 );
> + NotifyWinEvent( EVENT_OBJECT_STATECHANGE, hWnd, OBJID_CLIENT, 0 );
> GetClientRect( hWnd, &rect );
> if (uMsg == WM_KEYUP || PtInRect( &rect, pt ))
> {
> diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
> index f0e0d0fba76..cb8d4f07fe7 100644
> --- a/dlls/user32/tests/msg.c
> +++ b/dlls/user32/tests/msg.c
> @@ -1774,7 +1774,7 @@ static const struct message WmModalDialogSeq[] = {
> { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam, OBJID_CLIENT, 0 },
> { WM_KILLFOCUS, sent|parent },
> { WM_IME_SETCONTEXT, sent|parent|wparam|optional, 0 },
> - { EVENT_OBJECT_STATECHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
> + { EVENT_OBJECT_STATECHANGE, winevent_hook|wparam|lparam, 0, 0 },
> { WM_ENABLE, sent|parent|wparam, 0 },
> { HCBT_CREATEWND, hook },
> { EVENT_OBJECT_REORDER, winevent_hook|wparam|lparam|optional, 0, 0 }, /* Not sent on Win10. */
>
Doesn't this still pass in wine, without comctl32 change, with or
without winevent_hook_todo? I see we have winetest_platform checks
around winevent_hook_todo.
More information about the wine-devel
mailing list