Paul Vriens : ddraw/tests: Don't crash on W2K.

Alexandre Julliard julliard at winehq.org
Thu Feb 19 09:18:41 CST 2009


Module: wine
Branch: master
Commit: b63728a850b333761bd3fb7ff8e9e3032981ac5f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b63728a850b333761bd3fb7ff8e9e3032981ac5f

Author: Paul Vriens <Paul.Vriens.Wine at gmail.com>
Date:   Thu Feb 19 11:20:29 2009 +0100

ddraw/tests: Don't crash on W2K.

---

 dlls/ddraw/tests/visual.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/dlls/ddraw/tests/visual.c b/dlls/ddraw/tests/visual.c
index 1bac1b7..87193ea 100644
--- a/dlls/ddraw/tests/visual.c
+++ b/dlls/ddraw/tests/visual.c
@@ -37,6 +37,8 @@ IDirect3DDevice *Direct3DDevice1 = NULL;
 IDirect3DExecuteBuffer *ExecuteBuffer = NULL;
 IDirect3DViewport *Viewport = NULL;
 
+static BOOL refdevice = FALSE;
+
 static HRESULT (WINAPI *pDirectDrawCreateEx)(LPGUID,LPVOID*,REFIID,LPUNKNOWN);
 
 static BOOL createObjects(void)
@@ -100,6 +102,8 @@ static BOOL createObjects(void)
         {
             trace("Creating a HAL device failed, trying Ref\n");
             hr = IDirect3D7_CreateDevice(Direct3D, &IID_IDirect3DRefDevice, Surface, &Direct3DDevice);
+            if (SUCCEEDED(hr))
+                refdevice = TRUE;
         }
     }
     if(!Direct3DDevice) goto err;
@@ -562,7 +566,7 @@ static void offscreen_test(IDirect3DDevice7 *device)
     hr = IDirect3DDevice7_SetRenderState(device, D3DRENDERSTATE_LIGHTING, FALSE);
     ok(hr == D3D_OK, "IDirect3DDevice7_SetRenderState returned hr = %08x\n", hr);
 
-    if(IDirect3DDevice7_BeginScene(device) == D3D_OK) {
+    if(IDirect3DDevice7_BeginScene(device) == D3D_OK && !refdevice) {
         hr = IDirect3DDevice7_SetRenderTarget(device, offscreen, 0);
         ok(hr == D3D_OK, "SetRenderTarget failed, hr = %08x\n", hr);
         hr = IDirect3DDevice7_Clear(device, 0, NULL, D3DCLEAR_TARGET, 0xffff00ff, 0.0, 0);




More information about the wine-cvs mailing list