[PATCH v2 1/5] user32/tests: Fix existing winevents in test_showwindow() message sequences.

Connor McAdams cmcadams at codeweavers.com
Thu Sep 16 09:56:16 CDT 2021


On Thu, Sep 16, 2021 at 12:31:38AM -0400, Connor McAdams wrote:
> Signed-off-by: Connor McAdams <cmcadams at codeweavers.com>
> ---
> -v2: Don't run test_showwindow() until after missing winevents are
>      added.
> 
>  dlls/user32/tests/msg.c | 46 ++++++++++++++++++++---------------------
>  1 file changed, 23 insertions(+), 23 deletions(-)
> 
> diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
> index 4c9f1dc6913..420ada6e384 100644
> --- a/dlls/user32/tests/msg.c
> +++ b/dlls/user32/tests/msg.c
> @@ -724,7 +724,7 @@ static const struct message WmCreateMaxPopupSeq[] = {
>      { WM_NCCREATE, sent },
>      { WM_NCCALCSIZE, sent|wparam, 0 },
>      { WM_CREATE, sent },
> -    { EVENT_OBJECT_CREATE, winevent_hook|wparam|lparam, 0, 0 },
> +    { EVENT_OBJECT_CREATE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
>      { WM_SIZE, sent|wparam, SIZE_RESTORED },
>      { WM_MOVE, sent },
>      { HCBT_MINMAX, hook|lparam, 0, SW_MAXIMIZE },
> @@ -734,12 +734,12 @@ static const struct message WmCreateMaxPopupSeq[] = {
>      { WM_WINDOWPOSCHANGED, sent|wparam, SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOREDRAW|SWP_STATECHANGED },
>      { WM_MOVE, sent|defwinproc },
>      { WM_SIZE, sent|defwinproc|wparam, SIZE_MAXIMIZED },
> -    { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
> +    { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
>      { WM_SHOWWINDOW, sent|wparam, 1 },
>      { WM_WINDOWPOSCHANGING, sent|wparam, SWP_SHOWWINDOW|SWP_NOSIZE|SWP_NOMOVE },
> -    { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam, 0, 0 },
> +    { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
>      { HCBT_ACTIVATE, hook },
> -    { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam, 0, 0 },
> +    { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
>      { WM_QUERYNEWPALETTE, sent|wparam|lparam|optional, 0, 0 },
>      { WM_WINDOWPOSCHANGING, sent|wparam|optional, SWP_NOSIZE|SWP_NOMOVE },
>      { WM_NCPAINT, sent|wparam|optional, 1 },
> @@ -751,7 +751,7 @@ static const struct message WmCreateMaxPopupSeq[] = {
>      { HCBT_SETFOCUS, hook },
>      { WM_IME_SETCONTEXT, sent|wparam|defwinproc|optional, 1 },
>      { WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 2 },
> -    { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam, OBJID_CLIENT, 0 },
> +    { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|winevent_hook_todo, OBJID_CLIENT, 0 },
>      { WM_SETFOCUS, sent|wparam|defwinproc, 0 },
>      { WM_GETTEXT, sent|optional },
>      { WM_SYNCPAINT, sent|wparam|optional, 4 },
> @@ -768,7 +768,7 @@ static const struct message WmCreateInvisibleMaxPopupSeq[] = {
>      { WM_NCCREATE, sent },
>      { WM_NCCALCSIZE, sent|wparam, 0 },
>      { WM_CREATE, sent },
> -    { EVENT_OBJECT_CREATE, winevent_hook|wparam|lparam, 0, 0 },
> +    { EVENT_OBJECT_CREATE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
>      { WM_SIZE, sent|wparam, SIZE_RESTORED },
>      { WM_MOVE, sent },
>      { HCBT_MINMAX, hook|lparam, 0, SW_MAXIMIZE },
> @@ -778,7 +778,7 @@ static const struct message WmCreateInvisibleMaxPopupSeq[] = {
>      { WM_WINDOWPOSCHANGED, sent|wparam, SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOREDRAW|SWP_STATECHANGED },
>      { WM_MOVE, sent|defwinproc },
>      { WM_SIZE, sent|defwinproc|wparam, SIZE_MAXIMIZED },
> -    { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
> +    { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
>      { 0 }
>  };
>  /* ShowWindow(SW_SHOWMAXIMIZED) for a resized not visible popup window */
> @@ -787,9 +787,9 @@ static const struct message WmShowMaxPopupResizedSeq[] = {
>      { WM_GETMINMAXINFO, sent },
>      { WM_WINDOWPOSCHANGING, sent|wparam, SWP_SHOWWINDOW|SWP_FRAMECHANGED, 0, SWP_STATECHANGED /* w1064v1809 */ },
>      { WM_NCCALCSIZE, sent|wparam, TRUE },
> -    { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam, 0, 0 },
> +    { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
>      { HCBT_ACTIVATE, hook },
> -    { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam, 0, 0 },
> +    { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
>      { WM_QUERYNEWPALETTE, sent|wparam|lparam|optional, 0, 0 },
>      { WM_WINDOWPOSCHANGING, sent|wparam|optional, SWP_NOSIZE|SWP_NOMOVE },
>      { WM_NCPAINT, sent|wparam|optional, 1 },
> @@ -801,7 +801,7 @@ static const struct message WmShowMaxPopupResizedSeq[] = {
>      { HCBT_SETFOCUS, hook },
>      { WM_IME_SETCONTEXT, sent|wparam|defwinproc|optional, 1 },
>      { WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 2 },
> -    { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam, OBJID_CLIENT, 0 },
> +    { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|winevent_hook_todo, OBJID_CLIENT, 0 },
>      { WM_SETFOCUS, sent|wparam|defwinproc, 0 },
>      { WM_GETTEXT, sent|optional },
>      { WM_NCPAINT, sent|wparam|optional, 1 },
> @@ -810,7 +810,7 @@ static const struct message WmShowMaxPopupResizedSeq[] = {
>      /* WinNT4.0 sends WM_MOVE */
>      { WM_MOVE, sent|defwinproc|optional },
>      { WM_SIZE, sent|defwinproc|wparam, SIZE_MAXIMIZED },
> -    { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
> +    { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
>      { 0 }
>  };
>  /* ShowWindow(SW_SHOWMAXIMIZED) for a not visible popup window */
> @@ -819,9 +819,9 @@ static const struct message WmShowMaxPopupSeq[] = {
>      { WM_GETMINMAXINFO, sent },
>      { WM_WINDOWPOSCHANGING, sent|wparam, SWP_SHOWWINDOW|SWP_FRAMECHANGED, 0, SWP_STATECHANGED /* w1064v1809 */ },
>      { WM_NCCALCSIZE, sent|wparam, TRUE },
> -    { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam, 0, 0 },
> +    { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
>      { HCBT_ACTIVATE, hook },
> -    { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam, 0, 0 },
> +    { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
>      { WM_QUERYNEWPALETTE, sent|wparam|lparam|optional, 0, 0 },
>      { WM_WINDOWPOSCHANGING, sent|wparam|optional, SWP_NOSIZE|SWP_NOMOVE },
>      { WM_NCPAINT, sent|wparam|optional, 1 },
> @@ -833,7 +833,7 @@ static const struct message WmShowMaxPopupSeq[] = {
>      { HCBT_SETFOCUS, hook },
>      { WM_IME_SETCONTEXT, sent|wparam|defwinproc|optional, 1 },
>      { WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 2 },
> -    { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam, OBJID_CLIENT, 0 },
> +    { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|winevent_hook_todo, OBJID_CLIENT, 0 },
>      { WM_SETFOCUS, sent|wparam|defwinproc, 0 },
>      { WM_GETTEXT, sent|optional },
>      { WM_SYNCPAINT, sent|wparam|optional, 4 },
> @@ -842,8 +842,8 @@ static const struct message WmShowMaxPopupSeq[] = {
>      { WM_NCPAINT, sent|wparam|defwinproc|optional, 1 },
>      { WM_ERASEBKGND, sent|defwinproc|optional },
>      { WM_WINDOWPOSCHANGED, sent|wparam, SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE|SWP_SHOWWINDOW|SWP_FRAMECHANGED|SWP_NOMOVE|SWP_NOSIZE, 0, SWP_STATECHANGED /* w1064v1809 */ },
> -    { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
>      { WM_SIZE, sent|defwinproc|optional },
> +    { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
>      { 0 }
>  };
>  /* CreateWindow(WS_VISIBLE) for popup window */
> @@ -852,14 +852,14 @@ static const struct message WmCreatePopupSeq[] = {
>      { WM_NCCREATE, sent },
>      { WM_NCCALCSIZE, sent|wparam, 0 },
>      { WM_CREATE, sent },
> -    { EVENT_OBJECT_CREATE, winevent_hook|wparam|lparam, 0, 0 },
> +    { EVENT_OBJECT_CREATE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
>      { WM_SIZE, sent|wparam, SIZE_RESTORED },
>      { WM_MOVE, sent },
>      { WM_SHOWWINDOW, sent|wparam, 1 },
>      { WM_WINDOWPOSCHANGING, sent|wparam, SWP_SHOWWINDOW|SWP_NOSIZE|SWP_NOMOVE },
> -    { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam, 0, 0 },
> +    { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
>      { HCBT_ACTIVATE, hook },
> -    { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam, 0, 0 },
> +    { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
>      { WM_QUERYNEWPALETTE, sent|wparam|lparam|optional, 0, 0 },
>      { WM_WINDOWPOSCHANGING, sent|wparam|optional, SWP_NOSIZE|SWP_NOMOVE },
>      { WM_NCPAINT, sent|wparam|optional, 1 },
> @@ -871,7 +871,7 @@ static const struct message WmCreatePopupSeq[] = {
>      { HCBT_SETFOCUS, hook },
>      { WM_IME_SETCONTEXT, sent|wparam|defwinproc|optional, 1 },
>      { WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 2 },
> -    { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam, OBJID_CLIENT, 0 },
> +    { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|winevent_hook_todo, OBJID_CLIENT, 0 },
>      { WM_SETFOCUS, sent|wparam|defwinproc, 0 },
>      { WM_GETTEXT, sent|optional },
>      { WM_SYNCPAINT, sent|wparam|optional, 4 },
> @@ -894,7 +894,7 @@ static const struct message WmShowVisMaxPopupSeq[] = {
>      { WM_WINDOWPOSCHANGED, sent|wparam, SWP_FRAMECHANGED|SWP_STATECHANGED },
>      { WM_MOVE, sent|defwinproc },
>      { WM_SIZE, sent|defwinproc|wparam, SIZE_MAXIMIZED },
> -    { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
> +    { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
>      { 0 }
>  };
>  /* ShowWindow(hwnd, SW_RESTORE) to a minimized window */
> @@ -2068,7 +2068,7 @@ static const struct message WmSHOWNAChildVisParVis[] = {
>  static const struct message WmSHOWNAChildInvisParVis[] = {
>      { WM_SHOWWINDOW, sent|wparam, 1 },
>      { WM_WINDOWPOSCHANGING, sent|wparam, SWP_SHOWWINDOW|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
> -    { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam, 0, 0 },
> +    { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
>      { WM_ERASEBKGND, sent|optional },
>      { WM_WINDOWPOSCHANGED, sent|wparam, SWP_SHOWWINDOW|SWP_NOSIZE|SWP_NOMOVE|SWP_NOCLIENTSIZE|SWP_NOACTIVATE|SWP_NOCLIENTMOVE },
>      { 0 }
> @@ -2091,7 +2091,7 @@ static const struct message WmSHOWNATopInvisible[] = {
>      { WM_WINDOWPOSCHANGED, sent|optional },
>      { WM_SHOWWINDOW, sent|wparam, 1 },
>      { WM_WINDOWPOSCHANGING, sent|wparam, SWP_SHOWWINDOW|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
> -    { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam, 0, 0 },
> +    { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
>      { WM_NCPAINT, sent|wparam|optional, 1 },
>      { WM_GETTEXT, sent|defwinproc|optional },
>      { WM_ERASEBKGND, sent|optional },
> @@ -2099,7 +2099,7 @@ static const struct message WmSHOWNATopInvisible[] = {
>      { WM_NCCALCSIZE, sent|wparam|optional, 1 },
>      { WM_NCPAINT, sent|wparam|optional, 1 },
>      { WM_ERASEBKGND, sent|optional },
> -    { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
> +    { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, /* Win7 sends it, but Win8+ doesn't. */
>      { WM_SIZE, sent|wparam, SIZE_RESTORED },
>      { WM_MOVE, sent },
>      { 0 }
> -- 
> 2.25.1
>

Woops, goofed this series up, forgot to move the test_mdi_messages() call.
Will try to get this fixed and send in a v3 today.



More information about the wine-devel mailing list