Michael Stefaniuc : dsound: Remove the now obsolete IDirectSoundBufferImpl_Destroy().
Alexandre Julliard
julliard at winehq.org
Fri Jan 20 13:09:29 CST 2012
Module: wine
Branch: master
Commit: 84d5317302462527560d0ab6597c5d0cb3035ca2
URL: http://source.winehq.org/git/wine.git/?a=commit;h=84d5317302462527560d0ab6597c5d0cb3035ca2
Author: Michael Stefaniuc <mstefani at 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,
More information about the wine-cvs
mailing list