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));
}