Module: wine Branch: master Commit: b64fabf39e923ebfaa9a77ed9dea05acf7e38dcb URL: http://source.winehq.org/git/wine.git/?a=commit;h=b64fabf39e923ebfaa9a77ed9d...
Author: Hans Leidekker hans@codeweavers.com Date: Mon Jun 3 12:09:54 2013 +0200
msi: Don't defer custom actions in the UI sequence if they match the currently running script.
---
dlls/msi/action.c | 10 ++++------ dlls/msi/custom.c | 4 ++-- dlls/msi/msipriv.h | 2 +- 3 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/dlls/msi/action.c b/dlls/msi/action.c index 1fa065b..d964787 100644 --- a/dlls/msi/action.c +++ b/dlls/msi/action.c @@ -635,14 +635,12 @@ static UINT ACTION_ProcessUISequence(MSIPACKAGE *package) /******************************************************** * ACTION helper functions and functions that perform the actions *******************************************************/ -static BOOL ACTION_HandleCustomAction( MSIPACKAGE* package, LPCWSTR action, - UINT* rc, UINT script, BOOL force ) +static BOOL ACTION_HandleCustomAction( MSIPACKAGE *package, LPCWSTR action, UINT *rc, UINT script ) { BOOL ret=FALSE; UINT arc;
- arc = ACTION_CustomAction(package, action, script, force); - + arc = ACTION_CustomAction( package, action, script ); if (arc != ERROR_CALL_NOT_IMPLEMENTED) { *rc = arc; @@ -7650,7 +7648,7 @@ UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action, UINT script) handled = ACTION_HandleStandardAction(package, action, &rc);
if (!handled) - handled = ACTION_HandleCustomAction(package, action, &rc, script, TRUE); + handled = ACTION_HandleCustomAction(package, action, &rc, script);
if (!handled) { @@ -7672,7 +7670,7 @@ UINT ACTION_PerformUIAction(MSIPACKAGE *package, const WCHAR *action, UINT scrip handled = ACTION_HandleStandardAction(package, action, &rc);
if (!handled) - handled = ACTION_HandleCustomAction(package, action, &rc, script, FALSE); + handled = ACTION_HandleCustomAction(package, action, &rc, script);
if( !handled && ACTION_DialogBox(package, action) == ERROR_SUCCESS ) handled = TRUE; diff --git a/dlls/msi/custom.c b/dlls/msi/custom.c index 33be99b..eadb355 100644 --- a/dlls/msi/custom.c +++ b/dlls/msi/custom.c @@ -1172,7 +1172,7 @@ static UINT defer_custom_action( MSIPACKAGE *package, const WCHAR *action, UINT return ERROR_SUCCESS; }
-UINT ACTION_CustomAction(MSIPACKAGE *package, LPCWSTR action, UINT script, BOOL execute) +UINT ACTION_CustomAction( MSIPACKAGE *package, LPCWSTR action, UINT script ) { static const WCHAR query[] = { 'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ', @@ -1212,7 +1212,7 @@ UINT ACTION_CustomAction(MSIPACKAGE *package, LPCWSTR action, UINT script, BOOL if (type & msidbCustomActionTypeNoImpersonate) WARN("msidbCustomActionTypeNoImpersonate not handled\n");
- if (!execute || !action_type_matches_script( type, script )) + if (!action_type_matches_script( type, script )) { rc = defer_custom_action( package, action, type ); goto end; diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h index 018f405..773e8c1 100644 --- a/dlls/msi/msipriv.h +++ b/dlls/msi/msipriv.h @@ -977,7 +977,7 @@ extern HINSTANCE msi_hInstance DECLSPEC_HIDDEN; extern UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action, UINT script) DECLSPEC_HIDDEN; extern UINT ACTION_PerformUIAction(MSIPACKAGE *package, const WCHAR *action, UINT script) DECLSPEC_HIDDEN; extern void ACTION_FinishCustomActions( const MSIPACKAGE* package) DECLSPEC_HIDDEN; -extern UINT ACTION_CustomAction(MSIPACKAGE *package,const WCHAR *action, UINT script, BOOL execute) DECLSPEC_HIDDEN; +extern UINT ACTION_CustomAction(MSIPACKAGE *, const WCHAR *, UINT) DECLSPEC_HIDDEN;
/* actions in other modules */ extern UINT ACTION_AppSearch(MSIPACKAGE *package) DECLSPEC_HIDDEN;