Module: wine Branch: master Commit: 41a76b958df09aa3c1662d9c2d3888292ec0af5c URL: http://source.winehq.org/git/wine.git/?a=commit;h=41a76b958df09aa3c1662d9c2d...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Thu Nov 4 10:37:32 2010 +0100
d3d9: Add some missing locking to IDirect3DDevice9Impl_EndStateBlock().
Found by Michael Stefaniuc & Coccinelle.
---
dlls/d3d9/device.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c index 349bde4..c0b8b74 100644 --- a/dlls/d3d9/device.c +++ b/dlls/d3d9/device.c @@ -1551,7 +1551,9 @@ static HRESULT WINAPI IDirect3DDevice9Impl_EndStateBlock(IDirect3DDevice9Ex *ifa if (!object) { ERR("Failed to allocate stateblock memory.\n"); + wined3d_mutex_lock(); IWineD3DStateBlock_Release(wined3d_stateblock); + wined3d_mutex_unlock(); return E_OUTOFMEMORY; }
@@ -1559,7 +1561,9 @@ static HRESULT WINAPI IDirect3DDevice9Impl_EndStateBlock(IDirect3DDevice9Ex *ifa if (FAILED(hr)) { WARN("Failed to initialize stateblock, hr %#x.\n", hr); + wined3d_mutex_lock(); IWineD3DStateBlock_Release(wined3d_stateblock); + wined3d_mutex_unlock(); HeapFree(GetProcessHeap(), 0, object); return hr; }