d3d9: GetDepthStencilSurface returns D3DERR_NOTFOUND when no depth stencil is present

Henri Verbeet hverbeet at codeweavers.com
Wed Sep 10 04:08:51 CDT 2008


---
 dlls/d3d9/device.c |   13 +++++--------
 1 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c
index ddeaca3..b12e562 100644
--- a/dlls/d3d9/device.c
+++ b/dlls/d3d9/device.c
@@ -737,15 +737,12 @@ static HRESULT  WINAPI  IDirect3DDevice9Impl_GetDepthStencilSurface(LPDIRECT3DDE
 
     EnterCriticalSection(&d3d9_cs);
     hr = IWineD3DDevice_GetDepthStencilSurface(This->WineD3DDevice,&pZStencilSurface);
-    if(hr == D3D_OK) {
-        if(pZStencilSurface != NULL){
-            IWineD3DSurface_GetParent(pZStencilSurface,(IUnknown**)ppZStencilSurface);
-            IWineD3DSurface_Release(pZStencilSurface);
-        } else {
-            *ppZStencilSurface = NULL;
-        }
+    if (hr == WINED3D_OK) {
+        IWineD3DSurface_GetParent(pZStencilSurface,(IUnknown**)ppZStencilSurface);
+        IWineD3DSurface_Release(pZStencilSurface);
     } else {
-        WARN("Call to IWineD3DDevice_GetDepthStencilSurface failed\n");
+        if (hr != WINED3DERR_NOTFOUND)
+                WARN("Call to IWineD3DDevice_GetDepthStencilSurface failed with 0x%08x\n", hr);
         *ppZStencilSurface = NULL;
     }
     LeaveCriticalSection(&d3d9_cs);
-- 
1.5.6.4




--------------000705060502050500000809--



More information about the wine-patches mailing list