d3d8/tests: Fix test_cursor().

This commit is contained in:
Stefan Dösinger 2014-11-21 18:32:30 +01:00 committed by Alexandre Julliard
parent c440168e53
commit 4e8da470f8
1 changed files with 10 additions and 5 deletions

View File

@ -759,6 +759,7 @@ static void test_cursor(void)
HCURSOR cur;
HWND window;
HRESULT hr;
BOOL ret;
pGetCursorInfo = (void *)GetProcAddress(user32_handle, "GetCursorInfo");
if (!pGetCursorInfo)
@ -767,14 +768,19 @@ static void test_cursor(void)
return;
}
window = CreateWindowA("d3d8_test_wc", "d3d8_test", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
0, 0, 640, 480, NULL, NULL, NULL, NULL);
ok(!!window, "Failed to create a window.\n");
ret = SetCursorPos(50, 50);
ok(ret, "Failed to set cursor position.\n");
flush_events();
memset(&info, 0, sizeof(info));
info.cbSize = sizeof(info);
ok(pGetCursorInfo(&info), "GetCursorInfo failed\n");
cur = info.hCursor;
window = CreateWindowA("d3d8_test_wc", "d3d8_test", WS_OVERLAPPEDWINDOW,
0, 0, 640, 480, NULL, NULL, NULL, NULL);
ok(!!window, "Failed to create a window.\n");
d3d = Direct3DCreate8(D3D_SDK_VERSION);
ok(!!d3d, "Failed to create a D3D object.\n");
if (!(device = create_device(d3d, window, NULL)))
@ -817,12 +823,11 @@ static void test_cursor(void)
hr = IDirect3DDevice8_ShowCursor(device, TRUE);
ok(hr == TRUE, "IDirect3DDevice8_ShowCursor returned %#08x\n", hr);
/* GDI cursor unchanged */
memset(&info, 0, sizeof(info));
info.cbSize = sizeof(info);
ok(pGetCursorInfo(&info), "GetCursorInfo failed\n");
ok(info.flags & CURSOR_SHOWING, "The gdi cursor is hidden (%08x)\n", info.flags);
ok(info.hCursor == cur, "The cursor handle is %p\n", info.hCursor); /* unchanged */
ok(info.hCursor != cur, "The cursor handle is %p\n", info.hCursor);
refcount = IDirect3DDevice8_Release(device);
ok(!refcount, "Device has %u references left.\n", refcount);