Hans Leidekker : msi: Deformat the description field of INSTALLMESSAGE_ACTIONDATA messages.

Alexandre Julliard julliard at winehq.org
Mon Mar 12 11:59:59 CDT 2012


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

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Mon Mar 12 12:25:33 2012 +0100

msi: Deformat the description field of INSTALLMESSAGE_ACTIONDATA messages.

---

 dlls/msi/package.c |   34 ++++++++++++++++------------------
 1 files changed, 16 insertions(+), 18 deletions(-)

diff --git a/dlls/msi/package.c b/dlls/msi/package.c
index 89da1da..dd11374 100644
--- a/dlls/msi/package.c
+++ b/dlls/msi/package.c
@@ -1749,13 +1749,11 @@ MSIHANDLE WINAPI MsiGetActiveDatabase(MSIHANDLE hInstall)
 
 INT MSI_ProcessMessage( MSIPACKAGE *package, INSTALLMESSAGE eMessageType, MSIRECORD *record )
 {
-    static const WCHAR szActionData[] =
-        {'A','c','t','i','o','n','D','a','t','a',0};
-    static const WCHAR szSetProgress[] =
-        {'S','e','t','P','r','o','g','r','e','s','s',0};
-    static const WCHAR szActionText[] =
-        {'A','c','t','i','o','n','T','e','x','t',0};
-    LPWSTR message;
+    static const WCHAR szActionData[] = {'A','c','t','i','o','n','D','a','t','a',0};
+    static const WCHAR szSetProgress[] = {'S','e','t','P','r','o','g','r','e','s','s',0};
+    static const WCHAR szActionText[] = {'A','c','t','i','o','n','T','e','x','t',0};
+    MSIRECORD *uirow;
+    LPWSTR deformated, message;
     DWORD i, len, total_len, log_type = 0;
     INT rc = 0;
     char *msg;
@@ -1894,27 +1892,27 @@ INT MSI_ProcessMessage( MSIPACKAGE *package, INSTALLMESSAGE eMessageType, MSIREC
     switch (eMessageType & 0xff000000)
     {
     case INSTALLMESSAGE_ACTIONDATA:
-        /* FIXME: format record here instead of in ui_actiondata to get the
-         * correct action data for external scripts */
-        ControlEvent_FireSubscribedEvent(package, szActionData, record);
+        deformat_string(package, MSI_RecordGetString(record, 2), &deformated);
+        uirow = MSI_CreateRecord(1);
+        MSI_RecordSetStringW(uirow, 1, deformated);
+        msi_free(deformated);
+
+        ControlEvent_FireSubscribedEvent(package, szActionData, uirow);
+
+        msiobj_release(&uirow->hdr);
         break;
-    case INSTALLMESSAGE_ACTIONSTART:
-    {
-        MSIRECORD *uirow;
-        LPWSTR deformated;
-        LPCWSTR action_text = MSI_RecordGetString(record, 2);
 
-        deformat_string(package, action_text, &deformated);
+    case INSTALLMESSAGE_ACTIONSTART:
+        deformat_string(package, MSI_RecordGetString(record, 2), &deformated);
         uirow = MSI_CreateRecord(1);
         MSI_RecordSetStringW(uirow, 1, deformated);
-        TRACE("INSTALLMESSAGE_ACTIONSTART: %s\n", debugstr_w(deformated));
         msi_free(deformated);
 
         ControlEvent_FireSubscribedEvent(package, szActionText, uirow);
 
         msiobj_release(&uirow->hdr);
         break;
-    }
+
     case INSTALLMESSAGE_PROGRESS:
         ControlEvent_FireSubscribedEvent(package, szSetProgress, record);
         break;




More information about the wine-cvs mailing list