Module: wine Branch: master Commit: d9567b762759f58b52eb649ba068002790f5316f URL: http://source.winehq.org/git/wine.git/?a=commit;h=d9567b762759f58b52eb649ba0...
Author: Alexander Dorofeyev alexd4@inbox.lv Date: Sun Jan 20 20:18:12 2008 -0800
wined3d: Fix not released swapchain in some codepaths.
---
dlls/wined3d/surface.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c index 9243777..c6aa7a9 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -1121,13 +1121,14 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_UnlockRect(IWineD3DSurface *iface) {
IWineD3DSurface_GetContainer(iface, &IID_IWineD3DSwapChain, (void **)&swapchain); if(swapchain || (myDevice->render_targets && iface == myDevice->render_targets[0])) { + if(swapchain) IWineD3DSwapChain_Release((IWineD3DSwapChain *) swapchain); + if(wined3d_settings.rendertargetlock_mode == RTL_DISABLE) { static BOOL warned = FALSE; if(!warned) { ERR("The application tries to write to the render target, but render target locking is disabled\n"); warned = TRUE; } - if(swapchain) IWineD3DSwapChain_Release((IWineD3DSwapChain *) swapchain); goto unlock_end; }