From d9567b762759f58b52eb649ba068002790f5316f Mon Sep 17 00:00:00 2001 From: Alexander Dorofeyev Date: Sun, 20 Jan 2008 20:18:12 -0800 Subject: [PATCH] wined3d: Fix not released swapchain in some codepaths. --- dlls/wined3d/surface.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c index 92437773e59..c6aa7a9e615 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; } -- 2.11.4.GIT