msi: Free the custom action data after the thread function executes [try2]

James Hawkins truiken at gmail.com
Sat Feb 24 23:06:54 CST 2007


Hi,

I forgot that my tree wasn't rebased completely before I made the last
patch.  Fixes bug 7461.  http://bugs.winehq.org/show_bug.cgi?id=7461

Changelog:
* Free the custom action data after the thread function executes.

 dlls/msi/custom.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

-- 
James Hawkins
-------------- next part --------------
diff --git a/dlls/msi/custom.c b/dlls/msi/custom.c
index ba5c825..c6c07cf 100644
--- a/dlls/msi/custom.c
+++ b/dlls/msi/custom.c
@@ -452,9 +452,6 @@ static UINT wait_thread_handle( msi_custom_action_info *info )
     else
     {
         TRACE("%s running in background\n", debugstr_w( info->action ));
-
-        if (info->type & msidbCustomActionTypeContinue)
-            free_custom_action_data( info );
     }
 
     return rc;
@@ -529,6 +526,10 @@ static DWORD WINAPI ACTION_CallDllFunction( const LPGUID guid )
 
     FreeLibrary(hModule);
 
+    if (info->type & msidbCustomActionTypeAsync &&
+        info->type & msidbCustomActionTypeContinue)
+        free_custom_action_data( info );
+
     return r;
 }
 
-- 
1.4.4.2


More information about the wine-patches mailing list