[PATCH] d3d8/tests: Do not fail the visual test, when the device could not be created

Detlef Riekenberg wine.dev at web.de
Sat Dec 6 16:33:42 CST 2008


---
 dlls/d3d8/tests/visual.c |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/dlls/d3d8/tests/visual.c b/dlls/d3d8/tests/visual.c
index 8f853c1..c12d817 100644
--- a/dlls/d3d8/tests/visual.c
+++ b/dlls/d3d8/tests/visual.c
@@ -133,9 +133,17 @@ static IDirect3DDevice8 *init_d3d8(void)
     present_parameters.EnableAutoDepthStencil = TRUE;
     present_parameters.AutoDepthStencilFormat = D3DFMT_D16;
 
-    hr = IDirect3D8_CreateDevice(d3d8_ptr, D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, present_parameters.hDeviceWindow, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &present_parameters, &device_ptr);
-    ok(hr == D3D_OK || hr == D3DERR_INVALIDCALL, "IDirect3D_CreateDevice returned: %#08x\n", hr);
+    hr = IDirect3D8_CreateDevice(d3d8_ptr, D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, present_parameters.hDeviceWindow,
+                                 D3DCREATE_SOFTWARE_VERTEXPROCESSING, &present_parameters, &device_ptr);
 
+    if(!device_ptr)
+    {
+        skip("could not create device, IDirect3D8_CreateDevice returned %#08x\n", hr);
+
+        if(d3d8_ptr) IDirect3D8_Release(d3d8_ptr);
+        if(present_parameters.hDeviceWindow) DestroyWindow(present_parameters.hDeviceWindow);
+        return NULL;
+    }
     return device_ptr;
 }
 
@@ -1283,11 +1291,7 @@ START_TEST(visual)
     }
 
     device_ptr = init_d3d8();
-    if (!device_ptr)
-    {
-        skip("Could not initialize direct3d\n");
-        return;
-    }
+    if (!device_ptr) return;
 
     IDirect3DDevice8_GetDeviceCaps(device_ptr, &caps);
 
-- 
1.5.6.3


--=-------------122861993841677--



More information about the wine-patches mailing list