dinput8/tests: Flush events after creating window.
To make it more likely it gets focused on X11 and fix spurious failures. Signed-off-by: Rémi Bernon <rbernon@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
2ad44002da
commit
15beabe071
|
@ -48,6 +48,21 @@ static const HRESULT SetCoop_child_window[16] = {
|
||||||
E_INVALIDARG, E_HANDLE, E_HANDLE, E_INVALIDARG,
|
E_INVALIDARG, E_HANDLE, E_HANDLE, E_INVALIDARG,
|
||||||
E_INVALIDARG, E_INVALIDARG, E_INVALIDARG, E_INVALIDARG};
|
E_INVALIDARG, E_INVALIDARG, E_INVALIDARG, E_INVALIDARG};
|
||||||
|
|
||||||
|
static void flush_events(void)
|
||||||
|
{
|
||||||
|
MSG msg;
|
||||||
|
int diff = 200;
|
||||||
|
int min_timeout = 100;
|
||||||
|
DWORD time = GetTickCount() + diff;
|
||||||
|
|
||||||
|
while (diff > 0)
|
||||||
|
{
|
||||||
|
if (MsgWaitForMultipleObjects( 0, NULL, FALSE, min_timeout, QS_ALLINPUT ) == WAIT_TIMEOUT) break;
|
||||||
|
while (PeekMessageA( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg );
|
||||||
|
diff = time - GetTickCount();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void test_set_coop(IDirectInputA *pDI, HWND hwnd)
|
static void test_set_coop(IDirectInputA *pDI, HWND hwnd)
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
@ -131,6 +146,7 @@ static void test_acquire(IDirectInputA *pDI, HWND hwnd)
|
||||||
hwnd2 = CreateWindowA("static", "Temporary", WS_VISIBLE, 10, 210, 200, 200, NULL, NULL, NULL,
|
hwnd2 = CreateWindowA("static", "Temporary", WS_VISIBLE, 10, 210, 200, 200, NULL, NULL, NULL,
|
||||||
NULL);
|
NULL);
|
||||||
ok(hwnd2 != NULL, "CreateWindowA failed with %u\n", GetLastError());
|
ok(hwnd2 != NULL, "CreateWindowA failed with %u\n", GetLastError());
|
||||||
|
flush_events();
|
||||||
|
|
||||||
hr = IDirectInputDevice_GetDeviceState(pMouse, sizeof(m_state), &m_state);
|
hr = IDirectInputDevice_GetDeviceState(pMouse, sizeof(m_state), &m_state);
|
||||||
ok(hr == DIERR_NOTACQUIRED, "GetDeviceState() should have failed: %08x\n", hr);
|
ok(hr == DIERR_NOTACQUIRED, "GetDeviceState() should have failed: %08x\n", hr);
|
||||||
|
|
Loading…
Reference in New Issue