user32: Fix VK_RETURN handling in IsDialogMessage for dialogs without an IDOK

Dmitry Timoshkov dmitry at codeweavers.com
Wed Sep 15 02:35:20 CDT 2010


Vladimir Panteleev <thecybershadow at gmail.com> wrote:

> diff --git a/dlls/user32/dialog.c b/dlls/user32/dialog.c
> index aac8a4d..ee99710 100644
> --- a/dlls/user32/dialog.c
> +++ b/dlls/user32/dialog.c
> @@ -1221,6 +1221,11 @@ BOOL WINAPI IsDialogMessageW( HWND hwndDlg, LPMSG msg )
>                  else if (DC_HASDEFID == HIWORD(dw = SendMessageW (hwndDlg, DM_GETDEFID, 0, 0)))
>                  {
>                      HWND hwndDef = GetDlgItem(hwndDlg, LOWORD(dw));
> +                    if (!hwndDef && LOWORD(dw)==IDOK)
> +                    {
> +                        SendMessageW( hwndDlg, WM_COMMAND, IDOK, 0 );
> +                        return TRUE;
> +                    }
>                      if (!hwndDef || !IsWindowEnabled(hwndDef))
>                          return TRUE;
>                      SendMessageW( hwndDlg, WM_COMMAND, MAKEWPARAM( LOWORD(dw), BN_CLICKED ),

It would be cleaner to use an existing SendMessage() instead of
introducing a duplicate.

-- 
Dmitry.



More information about the wine-devel mailing list