dsound: Don't free buffer if it's owned by alsa.
diff --git a/dlls/dsound/dsound.c b/dlls/dsound/dsound.c
index cd0861a..87e9bba 100644
--- a/dlls/dsound/dsound.c
+++ b/dlls/dsound/dsound.c
@@ -1282,7 +1282,8 @@
HeapFree(GetProcessHeap(), 0, device->tmp_buffer);
HeapFree(GetProcessHeap(), 0, device->mix_buffer);
- HeapFree(GetProcessHeap(), 0, device->buffer);
+ if (device->drvdesc.dwFlags & DSDDESC_USESYSTEMMEMORY)
+ HeapFree(GetProcessHeap(), 0, device->buffer);
RtlDeleteResource(&device->buffer_list_lock);
device->mixlock.DebugInfo->Spare[0] = 0;
DeleteCriticalSection(&device->mixlock);