[PATCH] dmime: Check return code of CoCreateInstance in Init method.
Christian Costa
titan.costa at gmail.com
Thu Mar 29 01:54:15 CDT 2012
---
dlls/dmime/performance.c | 21 ++++++++++++---------
1 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/dlls/dmime/performance.c b/dlls/dmime/performance.c
index 91df283..d847d8e 100644
--- a/dlls/dmime/performance.c
+++ b/dlls/dmime/performance.c
@@ -238,15 +238,18 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_Init (LPDIRECTMUSICPERFORMANC
This->pDirectMusic = (IDirectMusic8*) *ppDirectMusic;
IDirectMusic8_AddRef(This->pDirectMusic);
} else {
- /* app allows the performance to initialise itself and needs a pointer to object*/
- CoCreateInstance (&CLSID_DirectMusic, NULL, CLSCTX_INPROC_SERVER, &IID_IDirectMusic8, (void**)&This->pDirectMusic);
- if (ppDirectMusic) {
- *ppDirectMusic = (LPDIRECTMUSIC) This->pDirectMusic;
- IDirectMusic8_AddRef((LPDIRECTMUSIC8) *ppDirectMusic);
- }
- }
-
- return S_OK;
+ HRESULT hr;
+ /* App enables the performance to initialize itself and needs a pointer to object */
+ hr = CoCreateInstance(&CLSID_DirectMusic, NULL, CLSCTX_INPROC_SERVER, &IID_IDirectMusic8, (void**)&This->pDirectMusic);
+ if (FAILED(hr))
+ return hr;
+ if (ppDirectMusic) {
+ *ppDirectMusic = (LPDIRECTMUSIC)This->pDirectMusic;
+ IDirectMusic8_AddRef((LPDIRECTMUSIC8)*ppDirectMusic);
+ }
+ }
+
+ return S_OK;
}
static HRESULT WINAPI IDirectMusicPerformance8Impl_PlaySegment (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicSegment* pSegment, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState** ppSegmentState) {
More information about the wine-patches
mailing list