Module: wine Branch: master Commit: 531cab9febfa3ab674535aa652cfba7da1852518 URL: http://source.winehq.org/git/wine.git/?a=commit;h=531cab9febfa3ab674535aa652...
Author: Hans Leidekker hans@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;