=?UTF-8?Q?Stefan=20D=C3=B6singer=20?=: d3d9/tests: Add more GetBackBuffer error handling tests.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Sep 3 07:34:28 CDT 2015


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

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Thu Sep  3 12:52:54 2015 +0200

d3d9/tests: Add more GetBackBuffer error handling tests.

---

 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);




More information about the wine-cvs mailing list