From 31bfc380eef32c00d66f173e89d0815ca8ef112f Mon Sep 17 00:00:00 2001 From: Christian Costa Date: Thu, 29 Mar 2012 08:52:54 +0200 Subject: [PATCH] dmusic: Check return codes and display name from port caps when enumerating microsoft synthetizer. --- dlls/dmusic/dmusic.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/dlls/dmusic/dmusic.c b/dlls/dmusic/dmusic.c index b0dd7c98ac..ba12f987bd 100644 --- a/dlls/dmusic/dmusic.c +++ b/dlls/dmusic/dmusic.c @@ -138,12 +138,16 @@ static HRESULT WINAPI IDirectMusic8Impl_EnumPort(LPDIRECTMUSIC8 iface, DWORD ind if (index == (nb_midi_in + nb_midi_out + 1)) { - IDirectMusicSynth8* synth; - TRACE("Enumerating port: 'Microsoft Software Synthesizer'\n"); - CoCreateInstance(&CLSID_DirectMusicSynth, NULL, CLSCTX_INPROC_SERVER, &IID_IDirectMusicSynth8, (void**)&synth); - IDirectMusicSynth8_GetPortCaps(synth, port_caps); - IDirectMusicSynth8_Release(synth); - return S_OK; + IDirectMusicSynth8* synth = NULL; + HRESULT hr; + hr = CoCreateInstance(&CLSID_DirectMusicSynth, NULL, CLSCTX_INPROC_SERVER, &IID_IDirectMusicSynth8, (void**)&synth); + if (SUCCEEDED(hr)) + IDirectMusicSynth8_GetPortCaps(synth, port_caps); + if (SUCCEEDED(hr)) + TRACE("Enumerating port: %s\n", debugstr_w(port_caps->wszDescription)); + if (synth) + IDirectMusicSynth8_Release(synth); + return hr; } return S_FALSE; -- 2.32.0.93.g670b81a890