From 165f8d1fff39df4d51599bf31008c962d4867cd9 Mon Sep 17 00:00:00 2001 From: Michael Stefaniuc Date: Fri, 15 Jul 2016 10:08:14 +0200 Subject: [PATCH] dmsynth: Simplify error handling when creating a DMSynthSink object. Signed-off-by: Michael Stefaniuc Signed-off-by: Alexandre Julliard --- dlls/dmsynth/synthsink.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/dlls/dmsynth/synthsink.c b/dlls/dmsynth/synthsink.c index 498c39067b8..cb397ef8c57 100644 --- a/dlls/dmsynth/synthsink.c +++ b/dlls/dmsynth/synthsink.c @@ -282,7 +282,7 @@ HRESULT WINAPI DMUSIC_CreateDirectMusicSynthSinkImpl(LPCGUID riid, LPVOID* ret_i obj->IDirectMusicSynthSink_iface.lpVtbl = &DirectMusicSynthSink_Vtbl; obj->IKsControl_iface.lpVtbl = &DMSynthSinkImpl_IKsControl_Vtbl; - obj->ref = 0; + obj->ref = 1; hr = CoCreateInstance(&CLSID_SystemClock, NULL, CLSCTX_INPROC_SERVER, &IID_IReferenceClock, (LPVOID*)&obj->latency_clock); if (FAILED(hr)) @@ -291,13 +291,8 @@ HRESULT WINAPI DMUSIC_CreateDirectMusicSynthSinkImpl(LPCGUID riid, LPVOID* ret_i return hr; } - hr = IDirectMusicSynthSinkImpl_QueryInterface((LPDIRECTMUSICSYNTHSINK)obj, riid, ret_iface); - if (FAILED(hr)) - { - IReferenceClock_Release(obj->latency_clock); - HeapFree(GetProcessHeap(), 0, obj); - return hr; - } + hr = IDirectMusicSynthSink_QueryInterface(&obj->IDirectMusicSynthSink_iface, riid, ret_iface); + IDirectMusicSynthSink_Release(&obj->IDirectMusicSynthSink_iface); - return S_OK; + return hr; } -- 2.11.4.GIT