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