Hans Leidekker : msi: Directly pass the disk id to installfiles_cb.

Alexandre Julliard julliard at winehq.org
Wed Jun 9 13:38:13 CDT 2010


Module: wine
Branch: master
Commit: 5ecbc4f8cad6a277c4edc9f397be31a765bc804d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=5ecbc4f8cad6a277c4edc9f397be31a765bc804d

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Wed Jun  9 12:09:06 2010 +0200

msi: Directly pass the disk id to installfiles_cb.

The MEDIAINFO structure is modified by the cabinet_next_cabinet
callback if there's a continuous cabinet in the installer.

---

 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..fc92f14 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_PTR disk_id = (UINT_PTR)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)(UINT_PTR)mi->disk_id;
 
             if (file->IsCompressed &&
                 !msi_cabextract(package, mi, &data))




More information about the wine-cvs mailing list