Module: wine Branch: master Commit: baad888766850ad390079a3abdf561517b61ef33 URL: http://source.winehq.org/git/wine.git/?a=commit;h=baad888766850ad390079a3abd...
Author: James Hawkins truiken@gmail.com Date: Tue May 1 03:19:50 2007 -0500
msi: Reset the folder's resolved target before setting the target in CostFinalize.
---
dlls/msi/action.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/dlls/msi/action.c b/dlls/msi/action.c index 7ee0518..804a1e5 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);