>From 8d6b6c4c790f58c7ec6ae391f02ec04c6f276678 Mon Sep 17 00:00:00 2001 From: Paul Vriens Date: Thu, 19 Feb 2009 11:20:29 +0100 Subject: [PATCH] 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); -- 1.6.0.6