[PATCH 3/3] dsound: Use AddRef to set the refcounts at object creation
Michael Stefaniuc
mstefani at redhat.de
Sun Jan 15 17:14:35 CST 2012
---
dlls/dsound/buffer.c | 5 +++--
dlls/dsound/primary.c | 5 +++--
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
index e2f2cc2..bc9b955 100644
--- a/dlls/dsound/buffer.c
+++ b/dlls/dsound/buffer.c
@@ -900,8 +900,8 @@ HRESULT IDirectSoundBufferImpl_Create(
TRACE("Created buffer at %p\n", dsb);
- dsb->ref = 1;
- dsb->numIfaces = 1;
+ dsb->ref = 0;
+ dsb->numIfaces = 0;
dsb->device = device;
dsb->IDirectSoundBuffer8_iface.lpVtbl = &dsbvt;
dsb->iks = NULL;
@@ -1012,6 +1012,7 @@ HRESULT IDirectSoundBufferImpl_Create(
}
}
+ IDirectSoundBuffer8_AddRef(&dsb->IDirectSoundBuffer8_iface);
*pdsb = dsb;
return err;
}
diff --git a/dlls/dsound/primary.c b/dlls/dsound/primary.c
index a629fab..9363a31 100644
--- a/dlls/dsound/primary.c
+++ b/dlls/dsound/primary.c
@@ -1218,9 +1218,9 @@ HRESULT primarybuffer_create(DirectSoundDevice *device, IDirectSoundBufferImpl *
return DSERR_OUTOFMEMORY;
}
- dsb->ref = 1;
+ dsb->ref = 0;
dsb->ref3D = 0;
- dsb->numIfaces = 1;
+ dsb->numIfaces = 0;
dsb->device = device;
dsb->IDirectSoundBuffer8_iface.lpVtbl = (IDirectSoundBuffer8Vtbl *)&dspbvt;
dsb->IDirectSound3DListener_iface.lpVtbl = &ds3dlvt;
@@ -1253,6 +1253,7 @@ HRESULT primarybuffer_create(DirectSoundDevice *device, IDirectSoundBufferImpl *
device->pwfx->nBlockAlign, device->pwfx->wBitsPerSample,
device->pwfx->cbSize);
+ IDirectSoundBuffer_AddRef(&dsb->IDirectSoundBuffer8_iface);
*ppdsb = dsb;
return S_OK;
}
--
1.7.6.5
More information about the wine-patches
mailing list