From baad888766850ad390079a3abdf561517b61ef33 Mon Sep 17 00:00:00 2001 From: James Hawkins Date: Tue, 1 May 2007 03:19:50 -0500 Subject: [PATCH] msi: Reset the folder's resolved target before setting the target in CostFinalize. --- dlls/msi/action.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dlls/msi/action.c b/dlls/msi/action.c index 7ee0518b408..804a1e52e23 100644 --- a/dlls/msi/action.c +++ b/dlls/msi/action.c @@ -1918,9 +1918,17 @@ static UINT ITERATE_CostFinalizeDirectories(MSIRECORD *row, LPVOID param) MSIPACKAGE *package = (MSIPACKAGE*)param; LPCWSTR name; LPWSTR path; + MSIFOLDER *f; name = MSI_RecordGetString(row,1); + f = get_loaded_folder(package, name); + if (!f) return ERROR_SUCCESS; + + /* reset the ResolvedTarget */ + msi_free(f->ResolvedTarget); + f->ResolvedTarget = NULL; + /* This helper function now does ALL the work */ TRACE("Dir %s ...\n",debugstr_w(name)); path = resolve_folder(package,name,FALSE,TRUE,TRUE,NULL);