From: Stefan Dösinger Subject: [PATCH 4/7] d3d9/tests: Add more GetBackBuffer error handling tests. Message-Id: <1440973505-19247-4-git-send-email-stefan@codeweavers.com> Date: Mon, 31 Aug 2015 00:25:02 +0200 --- dlls/d3d9/tests/device.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c index d1a8d37..c41a5e6 100644 --- a/dlls/d3d9/tests/device.c +++ b/dlls/d3d9/tests/device.c @@ -1085,6 +1085,18 @@ static void test_swapchain(void) ok(d3dpp.BackBufferCount == 1, "Got unexpected back buffer count %u.\n", d3dpp.BackBufferCount); IDirect3DSwapChain9_Release(swapchain0); + hr = IDirect3DSwapChain9_GetBackBuffer(swapchain0, 0, D3DBACKBUFFER_TYPE_MONO, NULL); + ok(hr == D3DERR_INVALIDCALL, "Got unexpected hr %#x.\n", hr); + /* IDirect3DDevice9::GetBackBuffer crashes if a NULL output pointer is passed. */ + backbuffer = (void *)0xdeadbeef; + hr = IDirect3DDevice9_GetBackBuffer(device, 1, 0, D3DBACKBUFFER_TYPE_MONO, &backbuffer); + ok(hr == D3DERR_INVALIDCALL, "Got unexpected hr %#x.\n", hr); + ok(!backbuffer, "The back buffer pointer is %p, expected NULL.\n", backbuffer); + backbuffer = (void *)0xdeadbeef; + hr = IDirect3DDevice9_GetBackBuffer(device, 0, 1, D3DBACKBUFFER_TYPE_MONO, &backbuffer); + ok(hr == D3DERR_INVALIDCALL, "Got unexpected hr %#x.\n", hr); + ok(!backbuffer, "The back buffer pointer is %p, expected NULL.\n", backbuffer); + /* Check if there is a back buffer */ hr = IDirect3DSwapChain9_GetBackBuffer(swapchain0, 0, D3DBACKBUFFER_TYPE_MONO, &backbuffer); ok(SUCCEEDED(hr), "Failed to get the back buffer (%08x)\n", hr); -- 2.4.6