[2/3] msi: Directly pass the disk id to installfiles_cb.
Hans Leidekker
hans at codeweavers.com
Wed Jun 9 05:09:06 CDT 2010
The MEDIAINFO structure is modified by the cabinet_next_cabinet
callback if there's a continuous cabinet in the installer.
Fixes a regression caused by 6475c11c1f5ef0eaee9f9476ed3ff7686d58056d,
reported as http://bugs.winehq.org/show_bug.cgi?id=22989
---
dlls/msi/files.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/msi/files.c b/dlls/msi/files.c
index 91ec43e..8eae2c0 100644
--- a/dlls/msi/files.c
+++ b/dlls/msi/files.c
@@ -196,7 +196,7 @@ static BOOL installfiles_cb(MSIPACKAGE *package, LPCWSTR file, DWORD action,
LPWSTR *path, DWORD *attrs, PVOID user)
{
static MSIFILE *f = NULL;
- MSIMEDIAINFO *mi = user;
+ UINT disk_id = (UINT)user;
if (action == MSICABEXTRACT_BEGINEXTRACT)
{
@@ -207,7 +207,7 @@ static BOOL installfiles_cb(MSIPACKAGE *package, LPCWSTR file, DWORD action,
return FALSE;
}
- if (f->disk_id != mi->disk_id || (f->state != msifs_missing && f->state != msifs_overwrite))
+ if (f->disk_id != disk_id || (f->state != msifs_missing && f->state != msifs_overwrite))
return FALSE;
msi_file_update_ui(package, f, szInstallFiles);
@@ -265,7 +265,7 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package)
data.mi = mi;
data.package = package;
data.cb = installfiles_cb;
- data.user = mi;
+ data.user = (PVOID)mi->disk_id;
if (file->IsCompressed &&
!msi_cabextract(package, mi, &data))
--
1.7.0.4
More information about the wine-patches
mailing list