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

Andrew Eikum aeikum at codeweavers.com
Fri Feb 12 07:42:18 CST 2016


Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>

On Fri, Feb 12, 2016 at 06:12:12AM +0100, Sebastian Lackner wrote:
> 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