Module: wine Branch: master Commit: b657cd5f58022671229569cc705d3fad728f8b1c URL: http://source.winehq.org/git/wine.git/?a=commit;h=b657cd5f58022671229569cc70...
Author: Markus Amsler markus.amsler@oribi.org Date: Thu Nov 30 13:33:46 2006 +0100
Revert "d3d: Remove AddRef from IWineD3DDevice_GetRenderTarget.".
This reverts commit a7518f6f5494558e80ad125d0b42a46b4744d448.
---
dlls/d3d8/device.c | 1 + dlls/d3d9/device.c | 1 + dlls/wined3d/device.c | 4 +++- 3 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c index 0baa5ac..429b918 100644 --- a/dlls/d3d8/device.c +++ b/dlls/d3d8/device.c @@ -677,6 +677,7 @@ static HRESULT WINAPI IDirect3DDevice8
if (hr == D3D_OK && pRenderTarget != NULL) { IWineD3DResource_GetParent((IWineD3DResource *)pRenderTarget,(IUnknown**)ppRenderTarget); + IWineD3DResource_Release((IWineD3DResource *)pRenderTarget); } else { FIXME("Call to IWineD3DDevice_GetRenderTarget failed\n"); *ppRenderTarget = NULL; diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c index 9b31289..8ed7b8d 100644 --- a/dlls/d3d9/device.c +++ b/dlls/d3d9/device.c @@ -403,6 +403,7 @@ static HRESULT WINAPI IDirect3DDevice9
if (hr == D3D_OK && pRenderTarget != NULL) { IWineD3DResource_GetParent((IWineD3DResource *)pRenderTarget,(IUnknown**)ppRenderTarget); + IWineD3DResource_Release((IWineD3DResource *)pRenderTarget); } else { FIXME("Call to IWineD3DDevice_GetRenderTarget failed\n"); *ppRenderTarget = NULL; diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 4ae70a5..f1287bf 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -6898,7 +6898,9 @@ static HRESULT WINAPI IWineD3DDeviceIm
*ppRenderTarget = This->renderTarget; TRACE("(%p) : RenderTarget %d Index returning %p\n", This, RenderTargetIndex, *ppRenderTarget); - + /* Note inc ref on returned surface */ + if(*ppRenderTarget != NULL) + IWineD3DSurface_AddRef(*ppRenderTarget); return WINED3D_OK; }