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