[PATCH 2/2] d3d8/tests: Avoid follow-up errors if resetting the device fails.
Stefan Dösinger
stefan at codeweavers.com
Wed Oct 8 07:37:35 CDT 2014
This prevents an error on the W8 testbot that prints a changing error line
every time. The reason the reset fails is probably similar to how the
difference between D3DERR_DEVICELOST and D3DERR_DEVICENOTRESET is handled.
---
dlls/d3d8/tests/device.c | 36 +++++++++++++++++++++---------------
1 file changed, 21 insertions(+), 15 deletions(-)
diff --git a/dlls/d3d8/tests/device.c b/dlls/d3d8/tests/device.c
index 0896e0d..117ea32 100644
--- a/dlls/d3d8/tests/device.c
+++ b/dlls/d3d8/tests/device.c
@@ -3027,21 +3027,27 @@ static void test_device_window_reset(void)
hr = reset_device(device, device_window, FALSE);
ok(SUCCEEDED(hr), "Failed to reset device.\n");
- GetWindowRect(focus_window, &r);
- ok(EqualRect(&r, &fullscreen_rect), "Expected {%d, %d, %d, %d}, got {%d, %d, %d, %d}.\n",
- fullscreen_rect.left, fullscreen_rect.top, fullscreen_rect.right, fullscreen_rect.bottom,
- r.left, r.top, r.right, r.bottom);
- GetWindowRect(device_window, &r);
- ok(EqualRect(&r, &fullscreen_rect), "Expected {%d, %d, %d, %d}, got {%d, %d, %d, %d}.\n",
- fullscreen_rect.left, fullscreen_rect.top, fullscreen_rect.right, fullscreen_rect.bottom,
- r.left, r.top, r.right, r.bottom);
-
- proc = GetWindowLongPtrA(device_window, GWLP_WNDPROC);
- ok(proc == (LONG_PTR)test_proc, "Expected wndproc %#lx, got %#lx.\n",
- (LONG_PTR)test_proc, proc);
- proc = GetWindowLongPtrA(focus_window, GWLP_WNDPROC);
- ok(proc != (LONG_PTR)test_proc, "Expected wndproc %#lx, got %#lx.\n",
- (LONG_PTR)test_proc, proc);
+ /* Resetting the device fails if the process is not in foreground. Avoid follow-up failures. */
+ if (SUCCEEDED(hr))
+ {
+ GetWindowRect(focus_window, &r);
+ ok(EqualRect(&r, &fullscreen_rect), "Expected {%d, %d, %d, %d}, got {%d, %d, %d, %d}.\n",
+ fullscreen_rect.left, fullscreen_rect.top, fullscreen_rect.right, fullscreen_rect.bottom,
+ r.left, r.top, r.right, r.bottom);
+ GetWindowRect(device_window, &r);
+ ok(EqualRect(&r, &fullscreen_rect), "Expected {%d, %d, %d, %d}, got {%d, %d, %d, %d}.\n",
+ fullscreen_rect.left, fullscreen_rect.top, fullscreen_rect.right, fullscreen_rect.bottom,
+ r.left, r.top, r.right, r.bottom);
+
+ proc = GetWindowLongPtrA(device_window, GWLP_WNDPROC);
+ ok(proc == (LONG_PTR)test_proc, "Expected wndproc %#lx, got %#lx.\n",
+ (LONG_PTR)test_proc, proc);
+ proc = GetWindowLongPtrA(focus_window, GWLP_WNDPROC);
+ ok(proc != (LONG_PTR)test_proc, "Expected wndproc %#lx, got %#lx.\n",
+ (LONG_PTR)test_proc, proc);
+ }
+ else
+ skip("Reset failed, skipping window property test.\n");
ref = IDirect3DDevice8_Release(device);
ok(ref == 0, "The device was not properly freed: refcount %u.\n", ref);
--
2.0.4
More information about the wine-patches
mailing list