Vincent Povirk : setupapi: Add a matching CoUninitialize call.
Alexandre Julliard
julliard at winehq.org
Fri Nov 7 07:23:53 CST 2008
Module: wine
Branch: master
Commit: 23f54c939b7ab2a9f405b12b920a76ab9c542a86
URL: http://source.winehq.org/git/wine.git/?a=commit;h=23f54c939b7ab2a9f405b12b920a76ab9c542a86
Author: Vincent Povirk <vincent at 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;
}
More information about the wine-cvs
mailing list