DDRAW/tests: skip testing on IDirect3D7::CreateDevice() failure

Saulius Krasuckas saulius2 at ar.fi.lt
Tue Aug 23 13:32:03 CDT 2005


IDirect3D7::CreateDevice() returns DDERR_NOPALETTEATTACHED in 8 bit depth 
mode on WinME with my GeForce2 MX.

Log message:
	Saulius Krasuckas <saulius.krasuckas at ieee.org>
	Skip testing on IDirect3D7::CreateDevice() failure.


Index: dlls/ddraw/tests/d3d.c
===================================================================
RCS file: /home/wine/wine/dlls/ddraw/tests/d3d.c,v
retrieving revision 1.4
diff -p -u -r1.4 d3d.c
--- dlls/ddraw/tests/d3d.c	20 Jun 2005 14:18:05 -0000	1.4
+++ dlls/ddraw/tests/d3d.c	23 Aug 2005 18:28:37 -0000
@@ -41,7 +41,7 @@ static void init_function_pointers(void)
 }
 
 
-static void CreateDirect3D(void)
+static BOOL CreateDirect3D(void)
 {
     HRESULT rc;
     DDSURFACEDESC2 ddsd;
@@ -67,7 +67,13 @@ static void CreateDirect3D(void)
 
     rc = IDirect3D7_CreateDevice(lpD3D, &IID_IDirect3DTnLHalDevice, lpDDS,
         &lpD3DDevice);
-    ok(rc==D3D_OK, "CreateDevice returned: %lx\n", rc);
+    ok(rc==D3D_OK || rc==DDERR_NOPALETTEATTACHED, "CreateDevice returned: %lx\n", rc);
+    if (!lpD3DDevice) {
+        trace("IDirect3D7::CreateDevice() failed\n");
+        return FALSE;
+    }
+
+    return TRUE;
 }
 
 static void ReleaseDirect3D(void)
@@ -197,7 +203,10 @@ START_TEST(d3d)
         return;
     }
 
-    CreateDirect3D();
+    if(!CreateDirect3D()) {
+        trace("Skipping tests\n");
+        return;
+	}
     LightTest();
     ReleaseDirect3D();
 }



More information about the wine-patches mailing list