msi: Refreh controls after spawned dialog is closed.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com> Signed-off-by: Hans Leidekker <hans@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
e90b34e131
commit
434f0f7cb1
|
@ -556,6 +556,17 @@ static void msi_dialog_update_controls( msi_dialog *dialog, LPCWSTR property )
|
|||
}
|
||||
}
|
||||
|
||||
static void msi_dialog_update_all_controls( msi_dialog *dialog )
|
||||
{
|
||||
msi_control *control;
|
||||
|
||||
LIST_FOR_EACH_ENTRY( control, &dialog->controls, msi_control, entry )
|
||||
{
|
||||
if ( control->property && control->update )
|
||||
control->update( dialog, control );
|
||||
}
|
||||
}
|
||||
|
||||
static void msi_dialog_set_property( MSIPACKAGE *package, LPCWSTR property, LPCWSTR value )
|
||||
{
|
||||
UINT r = msi_set_property( package->db, property, value, -1 );
|
||||
|
@ -4389,7 +4400,11 @@ static UINT event_spawn_dialog( msi_dialog *dialog, const WCHAR *argument )
|
|||
{
|
||||
/* don't destroy a modeless dialogs that might be our parent */
|
||||
event_do_dialog( dialog->package, argument, dialog, FALSE );
|
||||
if (dialog->package->CurrentInstallState != ERROR_SUCCESS) msi_dialog_end_dialog( dialog );
|
||||
if (dialog->package->CurrentInstallState != ERROR_SUCCESS)
|
||||
msi_dialog_end_dialog( dialog );
|
||||
else
|
||||
msi_dialog_update_all_controls(dialog);
|
||||
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue