Module: wine Branch: master Commit: 84d5317302462527560d0ab6597c5d0cb3035ca2 URL: http://source.winehq.org/git/wine.git/?a=commit;h=84d5317302462527560d0ab659...
Author: Michael Stefaniuc mstefani@redhat.de Date: Fri Jan 20 00:53:51 2012 +0100
dsound: Remove the now obsolete IDirectSoundBufferImpl_Destroy().
---
dlls/dsound/buffer.c | 19 +++++-------------- dlls/dsound/dsound.c | 4 ++-- dlls/dsound/dsound_private.h | 2 -- 3 files changed, 7 insertions(+), 18 deletions(-)
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c index 18af3f9..630d60e 100644 --- a/dlls/dsound/buffer.c +++ b/dlls/dsound/buffer.c @@ -964,6 +964,11 @@ HRESULT IDirectSoundBufferImpl_Create(
void secondarybuffer_destroy(IDirectSoundBufferImpl *This) { + ULONG ref = InterlockedIncrement(&This->numIfaces); + + if (ref > 1) + WARN("Destroying buffer with %u in use interfaces\n", ref - 1); + DirectSoundDevice_RemoveBuffer(This->device, This); RtlDeleteResource(&This->lock);
@@ -981,20 +986,6 @@ void secondarybuffer_destroy(IDirectSoundBufferImpl *This) TRACE("(%p) released\n", This); }
-HRESULT IDirectSoundBufferImpl_Destroy( - IDirectSoundBufferImpl *pdsb) -{ - TRACE("(%p)\n",pdsb); - - /* This keeps the *_Destroy functions from possibly deleting - * this object until it is ready to be deleted */ - InterlockedIncrement(&pdsb->numIfaces); - - secondarybuffer_destroy(pdsb); - - return S_OK; -} - HRESULT IDirectSoundBufferImpl_Duplicate( DirectSoundDevice *device, IDirectSoundBufferImpl **ppdsb, diff --git a/dlls/dsound/dsound.c b/dlls/dsound/dsound.c index b3475ad..305bfeb0 100644 --- a/dlls/dsound/dsound.c +++ b/dlls/dsound/dsound.c @@ -1244,7 +1244,7 @@ ULONG DirectSoundDevice_Release(DirectSoundDevice * device)
/* The kill event should have allowed the timer process to expire * but try to grab the lock just in case. Can't hold lock because - * IDirectSoundBufferImpl_Destroy also grabs the lock */ + * secondarybuffer_destroy also grabs the lock */ RtlAcquireResourceShared(&(device->buffer_list_lock), TRUE); RtlReleaseResource(&(device->buffer_list_lock));
@@ -1256,7 +1256,7 @@ ULONG DirectSoundDevice_Release(DirectSoundDevice * device) if (device->buffers) { WARN("%d secondary buffers not released\n", device->nrofbuffers); for( i=0;i<device->nrofbuffers;i++) - IDirectSoundBufferImpl_Destroy(device->buffers[i]); + secondarybuffer_destroy(device->buffers[i]); }
if (device->primary) { diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h index 10bd281..a7209ca 100644 --- a/dlls/dsound/dsound_private.h +++ b/dlls/dsound/dsound_private.h @@ -199,8 +199,6 @@ HRESULT IDirectSoundBufferImpl_Create( DirectSoundDevice *device, IDirectSoundBufferImpl **ppdsb, LPCDSBUFFERDESC dsbd) DECLSPEC_HIDDEN; -HRESULT IDirectSoundBufferImpl_Destroy( - IDirectSoundBufferImpl *pdsb) DECLSPEC_HIDDEN; HRESULT IDirectSoundBufferImpl_Duplicate( DirectSoundDevice *device, IDirectSoundBufferImpl **ppdsb,