[PATCH 02/27] user32/tests: Fix SetParent/SetFocus message sequences to support WinEvents.
Connor McAdams
cmcadams at codeweavers.com
Tue Aug 17 11:11:17 CDT 2021
Signed-off-by: Connor McAdams <cmcadams at codeweavers.com>
---
dlls/user32/tests/msg.c | 23 ++++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
index 9867e319d58..5b7695f63a2 100644
--- a/dlls/user32/tests/msg.c
+++ b/dlls/user32/tests/msg.c
@@ -16671,12 +16671,12 @@ static void test_WaitForInputIdle( char *argv0 )
static const struct message WmSetParentSeq_1[] = {
{ WM_SHOWWINDOW, sent|wparam, 0 },
- { EVENT_OBJECT_PARENTCHANGE, winevent_hook|wparam|lparam, 0, 0 },
+ { EVENT_OBJECT_PARENTCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 },
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_NOSIZE },
{ WM_CHILDACTIVATE, sent },
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_NOSIZE|SWP_NOREDRAW|SWP_NOCLIENTSIZE },
{ WM_MOVE, sent|defwinproc|wparam, 0 },
- { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
+ { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 },
{ WM_SHOWWINDOW, sent|wparam, 1 },
{ 0 }
};
@@ -16690,16 +16690,17 @@ static const struct message WmSetParentSeq_2[] = {
{ WM_NCACTIVATE, sent|wparam|optional, 0 },
{ WM_ACTIVATE, sent|wparam|optional, 0 },
{ WM_ACTIVATEAPP, sent|wparam|optional, 0 },
+ { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|optional, OBJID_CLIENT, 0 },
{ WM_KILLFOCUS, sent|wparam, 0 },
{ EVENT_OBJECT_PARENTCHANGE, winevent_hook|wparam|lparam, 0, 0 },
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_NOSIZE },
{ HCBT_ACTIVATE, hook|optional },
- { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam, 0, 0 },
+ { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam|optional, 0, 0 },
{ WM_WINDOWPOSCHANGING, sent|wparam|optional, SWP_NOSIZE|SWP_NOMOVE },
{ WM_NCACTIVATE, sent|wparam|optional, 1 },
{ WM_ACTIVATE, sent|wparam|optional, 1 },
{ HCBT_SETFOCUS, hook|optional },
- { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam, OBJID_CLIENT, 0 },
+ { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|optional, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent|optional|defwinproc },
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_NOREDRAW|SWP_NOSIZE|SWP_NOCLIENTSIZE },
{ WM_MOVE, sent|defwinproc|wparam, 0 },
@@ -17270,6 +17271,7 @@ end:
static const struct message WmSetFocus_1[] = {
{ HCBT_SETFOCUS, hook }, /* child */
{ HCBT_ACTIVATE, hook }, /* parent */
+ { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam|optional, 0, 0 },
{ WM_QUERYNEWPALETTE, sent|wparam|lparam|parent|optional, 0, 0 },
{ WM_WINDOWPOSCHANGING, sent|parent, 0, SWP_NOSIZE|SWP_NOMOVE },
{ WM_ACTIVATEAPP, sent|wparam|parent, 1 },
@@ -17278,14 +17280,17 @@ static const struct message WmSetFocus_1[] = {
{ WM_GETTEXT, sent|defwinproc|parent|optional },
{ WM_ACTIVATE, sent|wparam|parent, 1 },
{ HCBT_SETFOCUS, hook }, /* parent */
+ { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|optional, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent|defwinproc|parent },
{ WM_KILLFOCUS, sent|parent },
+ { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|optional, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent },
{ 0 }
};
static const struct message WmSetFocus_2[] = {
{ HCBT_SETFOCUS, hook }, /* parent */
{ WM_KILLFOCUS, sent },
+ { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|optional, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent|parent },
{ 0 }
};
@@ -18283,6 +18288,11 @@ START_TEST(msg)
if (!hCBT_hook) win_skip( "cannot set global hook, will skip hook tests\n" );
test_winevents();
+ test_SendMessage_other_thread(1);
+ test_SendMessage_other_thread(2);
+ test_InSendMessage();
+ test_SetFocus();
+ test_SetParent();
/* Fix message sequences before removing 4 lines below */
if (pUnhookWinEvent && hEvent_hook)
@@ -18293,11 +18303,6 @@ START_TEST(msg)
}
hEvent_hook = 0;
- test_SendMessage_other_thread(1);
- test_SendMessage_other_thread(2);
- test_InSendMessage();
- test_SetFocus();
- test_SetParent();
test_PostMessage();
test_broadcast();
test_ShowWindow();
--
2.25.1
More information about the wine-devel
mailing list