Module: wine Branch: master Commit: 6c47355006b1d9095ac0dedc612eafdb1cdd03f2 URL: https://source.winehq.org/git/wine.git/?a=commit;h=6c47355006b1d9095ac0dedc6...
Author: Rémi Bernon rbernon@codeweavers.com Date: Thu Dec 26 12:51:22 2019 +0100
user32/tests: Return MA_ACTIVATE to WM_MOUSEACTIVATE on main test window.
This shows that one of test_SetWindowPos is broken on Wine, and needs to be fixed. It was previously fixed by some change in DefWindowProcA, introduced in 71d35d8940118bc6de6522913fb8c473fa5b2c24 but that was a unexpected side effect.
Signed-off-by: Rémi Bernon rbernon@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/user32/tests/win.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/dlls/user32/tests/win.c b/dlls/user32/tests/win.c index 926234fa5d..bb4eebfd0f 100644 --- a/dlls/user32/tests/win.c +++ b/dlls/user32/tests/win.c @@ -840,6 +840,8 @@ static LRESULT WINAPI main_window_procA(HWND hwnd, UINT msg, WPARAM wparam, LPAR if (wparam) app_activated = TRUE; else app_deactivated = TRUE; break; + case WM_MOUSEACTIVATE: + return MA_ACTIVATE; }
return DefWindowProcA(hwnd, msg, wparam, lparam); @@ -2717,7 +2719,7 @@ static void test_SetWindowPos(HWND hwnd, HWND hwnd2) ret = SetWindowPos(hwnd_child, NULL, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE|SWP_NOACTIVATE|SWP_SHOWWINDOW); ok(ret, "Got %d\n", ret); flush_events( TRUE ); - check_active_state(hwnd2, hwnd2, hwnd2); + todo_wine check_active_state(hwnd2, hwnd2, hwnd2); DestroyWindow(hwnd_child); }
@@ -3371,8 +3373,12 @@ static void test_SetForegroundWindow(HWND hwnd)
while (PeekMessageA(&msg, 0, 0, 0, PM_REMOVE)) DispatchMessageA(&msg); if (0) check_wnd_state(hwnd2, hwnd2, hwnd2, 0); - ok(GetActiveWindow() == hwnd2, "Expected active window %p, got %p.\n", hwnd2, GetActiveWindow()); - ok(GetFocus() == hwnd2, "Expected focus window %p, got %p.\n", hwnd2, GetFocus()); + + /* FIXME: these tests are failing because of a race condition + * between internal focus state applied immediately and X11 focus + * message coming late */ + todo_wine ok(GetActiveWindow() == hwnd2, "Expected active window %p, got %p.\n", hwnd2, GetActiveWindow()); + todo_wine ok(GetFocus() == hwnd2, "Expected focus window %p, got %p.\n", hwnd2, GetFocus());
SetForegroundWindow(hwnd); check_wnd_state(hwnd, hwnd, hwnd, 0);