Hi,

the attached patch solves a hard crash on my ati mobility 9600/9700 card. The code behind the c style comments let the application crash. The code between /* */ crash the hole system. Probably there have to be another check for supported cards/extensions.

Cheers
Rico
diff --git a/dlls/ddraw/tests/d3d.c b/dlls/ddraw/tests/d3d.c
index 221a95b..436a49c 100644
--- a/dlls/ddraw/tests/d3d.c
+++ b/dlls/ddraw/tests/d3d.c
@@ -2089,9 +2089,9 @@ static void DeviceLoadTest()
         ddsd.ddsCaps.dwCaps2 = DDSCAPS2_CUBEMAP | DDSCAPS2_CUBEMAP_POSITIVEX;
         ddsd.dwWidth = 128;
         ddsd.dwHeight = 128;
-        hr = IDirectDraw7_CreateSurface(lpDD, &ddsd, 
&cube_face_levels[0][0][0], NULL);
-        ok(hr==DD_OK,"CreateSurface returned: %x\n",hr);
-        if (FAILED(hr)) goto out;
+//        hr = IDirectDraw7_CreateSurface(lpDD, &ddsd, 
&cube_face_levels[0][0][0], NULL);
+//        ok(hr==DD_OK,"CreateSurface returned: %x\n",hr);
+//        if (FAILED(hr)) goto out;
 
         memset(&ddsd, 0, sizeof(DDSURFACEDESC2));
         ddsd.dwSize = sizeof(ddsd);
@@ -2100,13 +2100,13 @@ static void DeviceLoadTest()
         ddsd.ddsCaps.dwCaps2 = DDSCAPS2_CUBEMAP | DDSCAPS2_CUBEMAP_POSITIVEX | 
DDSCAPS2_CUBEMAP_POSITIVEY;
         ddsd.dwWidth = 128;
         ddsd.dwHeight = 128;
-        hr = IDirectDraw7_CreateSurface(lpDD, &ddsd, 
&cube_face_levels[1][0][0], NULL);
-        ok(hr==DD_OK,"CreateSurface returned: %x\n",hr);
-        if (FAILED(hr)) goto out;
+//        hr = IDirectDraw7_CreateSurface(lpDD, &ddsd, 
&cube_face_levels[1][0][0], NULL);
+//        ok(hr==DD_OK,"CreateSurface returned: %x\n",hr);
+//        if (FAILED(hr)) goto out;
 
         /* INVALIDPARAMS tests currently would fail because wine doesn't 
support partial cube faces
             (the above created cubemaps will have all faces. */
-        hr = IDirect3DDevice7_Load(lpD3DDevice, cube_face_levels[0][0][0], 
NULL, cube_face_levels[1][0][0], NULL,
+/*        hr = IDirect3DDevice7_Load(lpD3DDevice, cube_face_levels[0][0][0], 
NULL, cube_face_levels[1][0][0], NULL,
                                         DDSCAPS2_CUBEMAP_ALLFACES);
         todo_wine ok(hr==DDERR_INVALIDPARAMS, "IDirect3DDevice7_Load returned: 
%x\n",hr);
 
@@ -2132,6 +2132,7 @@ static void DeviceLoadTest()
 
         IDirectDrawSurface7_Release(cube_face_levels[0][0][0]);
         IDirectDrawSurface7_Release(cube_face_levels[1][0][0]);
+*/
         memset(cube_face_levels, 0, sizeof(cube_face_levels));
     }
 


Reply via email to