msi: Release more msi_custom_action_info when no longer needed.

This commit is contained in:
Hib Eris 2009-06-21 19:48:21 +02:00 committed by Alexandre Julliard
parent e86ebd75b0
commit 5392014e29
1 changed files with 13 additions and 3 deletions

View File

@ -851,6 +851,7 @@ static UINT HANDLE_CustomType23(MSIPACKAGE *package, LPCWSTR source,
msi_custom_action_info *info;
WCHAR package_path[MAX_PATH];
DWORD size;
UINT r;
static const WCHAR backslash[] = {'\\',0};
@ -863,7 +864,9 @@ static UINT HANDLE_CustomType23(MSIPACKAGE *package, LPCWSTR source,
info = do_msidbCAConcurrentInstall(package, type, package_path, target, action);
return wait_thread_handle(info);
r = wait_thread_handle(info);
release_custom_action_data( info );
return r;
}
static UINT HANDLE_CustomType1(MSIPACKAGE *package, LPCWSTR source,
@ -953,6 +956,7 @@ static UINT HANDLE_CustomType17(MSIPACKAGE *package, LPCWSTR source,
{
msi_custom_action_info *info;
MSIFILE *file;
UINT r;
TRACE("%s %s\n", debugstr_w(source), debugstr_w(target));
@ -965,7 +969,9 @@ static UINT HANDLE_CustomType17(MSIPACKAGE *package, LPCWSTR source,
info = do_msidbCustomActionTypeDll( package, type, file->TargetPath, target, action );
return wait_thread_handle( info );
r = wait_thread_handle( info );
release_custom_action_data( info );
return r;
}
static UINT HANDLE_CustomType18(MSIPACKAGE *package, LPCWSTR source,
@ -1345,6 +1351,7 @@ static UINT HANDLE_CustomType21_22(MSIPACKAGE *package, LPCWSTR source,
info = do_msidbCustomActionTypeScript( package, type, bufferw, target, action );
r = wait_thread_handle( info );
release_custom_action_data( info );
done:
msi_free(bufferw);
@ -1357,6 +1364,7 @@ static UINT HANDLE_CustomType53_54(MSIPACKAGE *package, LPCWSTR source,
{
msi_custom_action_info *info;
WCHAR *prop;
UINT r;
TRACE("%s %s\n", debugstr_w(source), debugstr_w(target));
@ -1366,7 +1374,9 @@ static UINT HANDLE_CustomType53_54(MSIPACKAGE *package, LPCWSTR source,
info = do_msidbCustomActionTypeScript( package, type, prop, NULL, action );
msi_free(prop);
return wait_thread_handle( info );
r = wait_thread_handle( info );
release_custom_action_data( info );
return r;
}
void ACTION_FinishCustomActions(const MSIPACKAGE* package)