mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-14 10:47:18 +00:00
user32/tests: Do not modify cursor position when simulating clicks.
FVWM by default uses a focus follow mouse model so the window under the mouse cursor automatically gets focus. Windows explorer.exe and other windows managers use click to focus model. So on FVWM, if a test changes the cursor position, it might affects other tests that rely on a specific focus window. Restore the cursor position after sending simulating clicks to avoid affecting other tests unintentionally. FVWM could be configured to use a click to focus model, but right now it will make many tests starting to succeed and other tests fail. So it seems to be too big of a change. Flaky is added to test_SetWindowPos() because this patch makes the tests succeed on Gitlab CI but the same tests still fails for other window managers and on TestBots.
This commit is contained in:
parent
c7d748d2e5
commit
40492eb007
|
@ -3282,7 +3282,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);
|
ret = SetWindowPos(hwnd_child, NULL, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE|SWP_NOACTIVATE|SWP_SHOWWINDOW);
|
||||||
ok(ret, "Got %d\n", ret);
|
ok(ret, "Got %d\n", ret);
|
||||||
flush_events( TRUE );
|
flush_events( TRUE );
|
||||||
todo_wine check_active_state(hwnd2, hwnd2, hwnd2);
|
flaky todo_wine check_active_state(hwnd2, hwnd2, hwnd2);
|
||||||
DestroyWindow(hwnd_child);
|
DestroyWindow(hwnd_child);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10186,7 +10186,9 @@ static void simulate_click(int x, int y)
|
||||||
{
|
{
|
||||||
INPUT input[2];
|
INPUT input[2];
|
||||||
UINT events_no;
|
UINT events_no;
|
||||||
|
POINT pt;
|
||||||
|
|
||||||
|
GetCursorPos(&pt);
|
||||||
SetCursorPos(x, y);
|
SetCursorPos(x, y);
|
||||||
memset(input, 0, sizeof(input));
|
memset(input, 0, sizeof(input));
|
||||||
input[0].type = INPUT_MOUSE;
|
input[0].type = INPUT_MOUSE;
|
||||||
|
@ -10199,6 +10201,7 @@ static void simulate_click(int x, int y)
|
||||||
U(input[1]).mi.dwFlags = MOUSEEVENTF_LEFTUP;
|
U(input[1]).mi.dwFlags = MOUSEEVENTF_LEFTUP;
|
||||||
events_no = SendInput(2, input, sizeof(input[0]));
|
events_no = SendInput(2, input, sizeof(input[0]));
|
||||||
ok(events_no == 2, "SendInput returned %d\n", events_no);
|
ok(events_no == 2, "SendInput returned %d\n", events_no);
|
||||||
|
SetCursorPos(pt.x, pt.y);
|
||||||
}
|
}
|
||||||
|
|
||||||
static WNDPROC def_static_proc;
|
static WNDPROC def_static_proc;
|
||||||
|
|
Loading…
Reference in a new issue