Module: wine Branch: master Commit: 23f54c939b7ab2a9f405b12b920a76ab9c542a86 URL: http://source.winehq.org/git/wine.git/?a=commit;h=23f54c939b7ab2a9f405b12b92... Author: Vincent Povirk <vincent(a)codeweavers.com> Date: Thu Nov 6 08:22:35 2008 -0600 setupapi: Add a matching CoUninitialize call. Spotted by Rob Shearman. --- dlls/setupapi/install.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/dlls/setupapi/install.c b/dlls/setupapi/install.c index 0a4db4f..133fb33 100644 --- a/dlls/setupapi/install.c +++ b/dlls/setupapi/install.c @@ -789,6 +789,7 @@ static BOOL profile_items_callback( HINF hinf, PCWSTR field, void *arg ) INFCONTEXT name_context, context; IShellLinkW* shelllink=NULL; IPersistFile* persistfile=NULL; + HRESULT initresult=E_FAIL; int attrs=0; static const WCHAR dotlnk[] = {'.','l','n','k',0}; @@ -864,7 +865,7 @@ static BOOL profile_items_callback( HINF hinf, PCWSTR field, void *arg ) if (!cmdline) return TRUE; - CoInitialize(NULL); + initresult = CoInitialize(NULL); if (!SUCCEEDED(CoCreateInstance( &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, &IID_IShellLinkW, (LPVOID*)&shelllink))) @@ -881,6 +882,7 @@ static BOOL profile_items_callback( HINF hinf, PCWSTR field, void *arg ) IShellLinkW_Release( shelllink ); done: + if (SUCCEEDED(initresult)) CoUninitialize(); HeapFree( GetProcessHeap(), 0, cmdline ); return TRUE; }