Stefan Dösinger : ddraw: SetDisplayMode may fail.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Aug 3 08:04:35 CDT 2007
Module: wine
Branch: master
Commit: df75a7e007857c1a1d92cfe21fdb973b40078096
URL: http://source.winehq.org/git/wine.git/?a=commit;h=df75a7e007857c1a1d92cfe21fdb973b40078096
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Tue Jul 24 20:44:05 2007 +0200
ddraw: SetDisplayMode may fail.
---
dlls/ddraw/ddraw.c | 2 +-
dlls/ddraw/tests/visual.c | 8 ++++++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index b447403..dbab8db 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -614,7 +614,7 @@ IDirectDrawImpl_SetDisplayMode(IDirectDraw7 *iface,
LeaveCriticalSection(&ddraw_cs);
switch(hr)
{
- case WINED3DERR_NOTAVAILABLE: return DDERR_INVALIDMODE;
+ case WINED3DERR_NOTAVAILABLE: return DDERR_UNSUPPORTED;
default: return hr;
};
}
diff --git a/dlls/ddraw/tests/visual.c b/dlls/ddraw/tests/visual.c
index 930f3d5..4e7400e 100644
--- a/dlls/ddraw/tests/visual.c
+++ b/dlls/ddraw/tests/visual.c
@@ -61,8 +61,12 @@ static BOOL createObjects(void)
hr = IDirectDraw7_SetDisplayMode(DirectDraw, 640, 480, 24, 0, 0);
}
- ok(hr == DD_OK, "IDirectDraw7_SetDisplayMode failed with %08x\n", hr);
- if(FAILED(hr)) goto err;
+ ok(hr == DD_OK || hr == DDERR_UNSUPPORTED, "IDirectDraw7_SetDisplayMode failed with %08x\n", hr);
+ if(FAILED(hr)) {
+ /* use trace, the caller calls skip() */
+ trace("SetDisplayMode failed\n");
+ goto err;
+ }
hr = IDirectDraw7_QueryInterface(DirectDraw, &IID_IDirect3D7, (void**) &Direct3D);
if (hr == E_NOINTERFACE) goto err;
More information about the wine-cvs
mailing list