Module: wine Branch: master Commit: 7dd5cc87490cefabed4dc8b0c138494629972325 URL: http://source.winehq.org/git/wine.git/?a=commit;h=7dd5cc87490cefabed4dc8b0c1...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Tue Jun 16 09:38:25 2009 +0200
d3d8: Add tests for deleting invalid shader handles.
---
dlls/d3d8/tests/device.c | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/dlls/d3d8/tests/device.c b/dlls/d3d8/tests/device.c index 0cd741d..f039a1b 100644 --- a/dlls/d3d8/tests/device.c +++ b/dlls/d3d8/tests/device.c @@ -1061,6 +1061,12 @@ static void test_shader(void) ok(hTempHandle == hPixelShader, "Pixel Shader %d is set, expected shader %d\n", hTempHandle, hPixelShader); hr = IDirect3DDevice8_DeletePixelShader(pDevice, hPixelShader); ok(hr == D3D_OK, "IDirect3DDevice8_DeletePixelShader returned %#08x\n", hr); + + /* Check for double delete. */ + hr = IDirect3DDevice8_DeletePixelShader(pDevice, hPixelShader2); + ok(hr == D3D_OK, "IDirect3DDevice8_DeletePixelShader returned %#08x\n", hr); + hr = IDirect3DDevice8_DeletePixelShader(pDevice, hPixelShader); + ok(hr == D3D_OK, "IDirect3DDevice8_DeletePixelShader returned %#08x\n", hr); } else { @@ -1083,6 +1089,12 @@ static void test_shader(void) hr = IDirect3DDevice8_DeleteVertexShader(pDevice, hVertexShader); ok(hr == D3D_OK, "IDirect3DDevice8_DeleteVertexShader returned %#08x\n", hr);
+ /* Check for double delete. */ + hr = IDirect3DDevice8_DeleteVertexShader(pDevice, hVertexShader2); + ok(hr == D3DERR_INVALIDCALL, "IDirect3DDevice8_DeleteVertexShader returned %#08x\n", hr); + hr = IDirect3DDevice8_DeleteVertexShader(pDevice, hVertexShader); + ok(hr == D3DERR_INVALIDCALL, "IDirect3DDevice8_DeleteVertexShader returned %#08x\n", hr); + cleanup: if(pD3d) IDirect3D8_Release(pD3d); if(pDevice) IDirect3D8_Release(pDevice);