[PATCH v2] xaudio2_7: Correct reference count on newly created XAudio2 object
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Mon Mar 9 04:22:19 CDT 2020
FAudioCOMConstructWithCustomAllocatorEXT initialize the reference count
to 1, then QueryInterface increase the count to 2. Thus the finial
release wont be called if a balanced AddRef/Release is used.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
dlls/xaudio2_7/xaudio_dll.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/dlls/xaudio2_7/xaudio_dll.c b/dlls/xaudio2_7/xaudio_dll.c
index a87e0124d3..fa0361182c 100644
--- a/dlls/xaudio2_7/xaudio_dll.c
+++ b/dlls/xaudio2_7/xaudio_dll.c
@@ -1955,10 +1955,8 @@ static HRESULT WINAPI XAudio2CF_CreateInstance(IClassFactory *iface, IUnknown *p
FAudio_RegisterForCallbacks(object->faudio, &object->FAudioEngineCallback_vtbl);
hr = IXAudio2_QueryInterface(&object->IXAudio2_iface, riid, ppobj);
+ IXAudio2_Release(&object->IXAudio2_iface);
if(FAILED(hr)){
- object->lock.DebugInfo->Spare[0] = 0;
- DeleteCriticalSection(&object->lock);
- HeapFree(GetProcessHeap(), 0, object);
return hr;
}
--
2.25.1
More information about the wine-devel
mailing list