d3d9: GetDepthStencilSurface returns D3DERR_NOTFOUND when no depth stencil is present.

This commit is contained in:
Henri Verbeet 2008-09-10 11:08:51 +02:00 committed by Alexandre Julliard
parent 4987ffff1f
commit c0d770de9e
1 changed files with 5 additions and 8 deletions

View File

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