Stefan Dösinger : d3d9: Add a test for GetTexture with no texture set.
Alexandre Julliard
julliard at winehq.org
Tue Nov 4 07:29:25 CST 2008
Module: wine
Branch: master
Commit: 40c06ea2969fbc719a7c3207480ea255714123c1
URL: http://source.winehq.org/git/wine.git/?a=commit;h=40c06ea2969fbc719a7c3207480ea255714123c1
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Fri Sep 19 13:12:30 2008 -0500
d3d9: Add a test for GetTexture with no texture set.
---
dlls/d3d9/device.c | 8 +++++---
dlls/d3d9/tests/texture.c | 12 ++++++++++++
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c
index db58689..697c202 100644
--- a/dlls/d3d9/device.c
+++ b/dlls/d3d9/device.c
@@ -990,11 +990,13 @@ static HRESULT WINAPI IDirect3DDevice9Impl_GetTexture(LPDIRECT3DDEVICE9EX ifac
EnterCriticalSection(&d3d9_cs);
rc = IWineD3DDevice_GetTexture(This->WineD3DDevice, Stage, &retTexture);
- if (rc == D3D_OK && NULL != retTexture) {
+ if (SUCCEEDED(rc) && NULL != retTexture) {
IWineD3DBaseTexture_GetParent(retTexture, (IUnknown **)ppTexture);
IWineD3DBaseTexture_Release(retTexture);
- }else{
- FIXME("Call to get texture (%d) failed (%p)\n", Stage, retTexture);
+ } else {
+ if(FAILED(rc)) {
+ WARN("Call to get texture (%d) failed (%p)\n", Stage, retTexture);
+ }
*ppTexture = NULL;
}
LeaveCriticalSection(&d3d9_cs);
diff --git a/dlls/d3d9/tests/texture.c b/dlls/d3d9/tests/texture.c
index 7212d3c..515820b 100644
--- a/dlls/d3d9/tests/texture.c
+++ b/dlls/d3d9/tests/texture.c
@@ -323,6 +323,17 @@ static void test_filter(IDirect3DDevice9 *device) {
IDirect3D9_Release(d3d9);
}
+static void test_gettexture(IDirect3DDevice9 *device) {
+ HRESULT hr;
+ IDirect3DBaseTexture9 *texture = (IDirect3DBaseTexture9 *) 0xdeadbeef;
+
+ hr = IDirect3DDevice9_SetTexture(device, 0, NULL);
+ ok(hr == D3D_OK, "IDirect3DDevice9_SetTexture failed, hr = 0x%08x\n", hr);
+ hr = IDirect3DDevice9_GetTexture(device, 0, &texture);
+ ok(hr == D3D_OK, "IDirect3DDevice9_GetTexture failed, hr = 0x%08x\n", hr);
+ ok(texture == NULL, "Texture returned is %p, expected NULL\n", texture);
+}
+
START_TEST(texture)
{
D3DCAPS9 caps;
@@ -345,4 +356,5 @@ START_TEST(texture)
test_cube_textures(device_ptr, caps.TextureCaps);
test_mipmap_gen(device_ptr);
test_filter(device_ptr);
+ test_gettexture(device_ptr);
}
More information about the wine-cvs
mailing list