Re: dsound: Avoid casts from COM object to interface.
On Thu, Dec 08, 2016 at 11:29:42AM +0100, Michael Stefaniuc wrote:
Signed-off-by: Michael Stefaniuc <mstefani(a)redhat.de> --- dlls/dsound/dsound.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/dsound/dsound.c b/dlls/dsound/dsound.c index 43b252d..d11c864 100644 --- a/dlls/dsound/dsound.c +++ b/dlls/dsound/dsound.c @@ -452,8 +452,8 @@ static HRESULT DirectSoundDevice_CreateSoundBuffer(
if (device->primary) { WARN("Primary Buffer already created\n"); - IDirectSoundBuffer_AddRef((LPDIRECTSOUNDBUFFER8)(device->primary)); - *ppdsb = (LPDIRECTSOUNDBUFFER)(device->primary); + *ppdsb = (IDirectSoundBuffer *)&device->primary->IDirectSoundBuffer8_iface; + IDirectSoundBuffer_AddRef(*ppdsb); } else {
Changing the order of these statements makes me nervous. Some applications use the returned pointers before the function returns, see 6a7c2f66e0569d2419eb9619e78716a9a5f94966. Andrew
participants (1)
-
Andrew Eikum