xaudio2_7: Unset DebugInfo->Spare[0] before destroying critical sections.

Sebastian Lackner sebastian at fds-team.de
Thu Feb 11 23:12:12 CST 2016


Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
---
 dlls/xaudio2_7/xaudio_dll.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/dlls/xaudio2_7/xaudio_dll.c b/dlls/xaudio2_7/xaudio_dll.c
index 503c974..1393599 100644
--- a/dlls/xaudio2_7/xaudio_dll.c
+++ b/dlls/xaudio2_7/xaudio_dll.c
@@ -1252,12 +1252,14 @@ static ULONG WINAPI IXAudio2Impl_Release(IXAudio2 *iface)
         LIST_FOR_EACH_ENTRY_SAFE(src, src2, &This->source_voices, XA2SourceImpl, entry){
             HeapFree(GetProcessHeap(), 0, src->sends);
             IXAudio2SourceVoice_DestroyVoice(&src->IXAudio2SourceVoice_iface);
+            src->lock.DebugInfo->Spare[0] = 0;
             DeleteCriticalSection(&src->lock);
             HeapFree(GetProcessHeap(), 0, src);
         }
 
         LIST_FOR_EACH_ENTRY_SAFE(sub, sub2, &This->submix_voices, XA2SubmixImpl, entry){
             IXAudio2SubmixVoice_DestroyVoice(&sub->IXAudio2SubmixVoice_iface);
+            sub->lock.DebugInfo->Spare[0] = 0;
             DeleteCriticalSection(&sub->lock);
             HeapFree(GetProcessHeap(), 0, sub);
         }
@@ -1273,6 +1275,7 @@ static ULONG WINAPI IXAudio2Impl_Release(IXAudio2 *iface)
 
         CloseHandle(This->mmevt);
 
+        This->lock.DebugInfo->Spare[0] = 0;
         DeleteCriticalSection(&This->lock);
 
         HeapFree(GetProcessHeap(), 0, This);
-- 
2.7.1



More information about the wine-patches mailing list