[PATCH v2 2/5] user32/tests: Ignore messages for UserAdapterWindowClass windows.
Rémi Bernon
rbernon at codeweavers.com
Mon Jan 31 07:18:07 CST 2022
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=48815
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
dlls/user32/tests/win.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/dlls/user32/tests/win.c b/dlls/user32/tests/win.c
index e48d7bea513..c9d9509eacc 100644
--- a/dlls/user32/tests/win.c
+++ b/dlls/user32/tests/win.c
@@ -170,8 +170,14 @@ static void check_active_state_(const char *file, int line,
ok_(file, line)(focus == GetFocus(), "GetFocus() = %p\n", GetFocus());
}
-static BOOL ignore_message( UINT message )
+static BOOL ignore_message( UINT message, HWND hwnd )
{
+ WCHAR buffer[256];
+
+ if (GetClassNameW( hwnd, buffer, ARRAY_SIZE(buffer) ) == 22 &&
+ !wcscmp( buffer, L"UserAdapterWindowClass" ))
+ return TRUE;
+
/* these are always ignored */
return (message >= 0xc000 ||
message == WM_GETICON ||
@@ -179,8 +185,7 @@ static BOOL ignore_message( UINT message )
message == WM_TIMER ||
message == WM_SYSTIMER ||
message == WM_TIMECHANGE ||
- message == WM_DEVICECHANGE ||
- message == 0x0060 /* undocumented, used by Win10 1709+ */);
+ message == WM_DEVICECHANGE);
}
static BOOL CALLBACK EnumChildProc( HWND hwndChild, LPARAM lParam)
@@ -3953,7 +3958,7 @@ static BOOL peek_message( MSG *msg )
do
{
ret = PeekMessageA(msg, 0, 0, 0, PM_REMOVE);
- } while (ret && ignore_message(msg->message));
+ } while (ret && ignore_message(msg->message, msg->hwnd));
return ret;
}
@@ -4113,7 +4118,7 @@ static void test_mouse_input(HWND hwnd)
/* FIXME: SetCursorPos in Wine generates additional WM_MOUSEMOVE message */
while (PeekMessageA(&msg, 0, 0, 0, PM_REMOVE))
{
- if (ignore_message(msg.message)) continue;
+ if (ignore_message(msg.message, msg.hwnd)) continue;
ok(msg.hwnd == popup && msg.message == WM_MOUSEMOVE,
"hwnd %p message %04x\n", msg.hwnd, msg.message);
DispatchMessageA(&msg);
--
2.34.1
More information about the wine-devel
mailing list