Module: wine Branch: master Commit: 165f8d1fff39df4d51599bf31008c962d4867cd9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=165f8d1fff39df4d51599bf310... Author: Michael Stefaniuc <mstefani(a)redhat.de> Date: Fri Jul 15 10:08:14 2016 +0200 dmsynth: Simplify error handling when creating a DMSynthSink object. Signed-off-by: Michael Stefaniuc <mstefani(a)redhat.de> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- 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 498c390..cb397ef 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; }