Christian Costa : dmime: Check return code of CoCreateInstance in Init method.
Alexandre Julliard
julliard at winehq.org
Thu Mar 29 15:48:58 CDT 2012
Module: wine
Branch: master
Commit: afbf28940cffa94d18fda89f3212715a8a1d2874
URL: http://source.winehq.org/git/wine.git/?a=commit;h=afbf28940cffa94d18fda89f3212715a8a1d2874
Author: Christian Costa <titan.costa at gmail.com>
Date: Thu Mar 29 08:54:15 2012 +0200
dmime: Check return code of CoCreateInstance in Init method.
---
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-cvs
mailing list