From 6df2c04f203b04e211ed734f42a2d5c5c672b6f6 Mon Sep 17 00:00:00 2001 From: Mike McCormack Date: Wed, 24 May 2006 17:41:17 +0900 Subject: [PATCH] msi: Set a default radio button. --- dlls/msi/dialog.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c index a48ab1e6fb7..7949ecd991e 100644 --- a/dlls/msi/dialog.c +++ b/dlls/msi/dialog.c @@ -101,6 +101,7 @@ typedef struct msi_dialog* dialog; msi_control *parent; DWORD attributes; + LPWSTR propval; } radio_button_group_descr; const WCHAR szMsiDialogClass[] = { @@ -1344,6 +1345,9 @@ static UINT msi_dialog_create_radiobutton( MSIRECORD *rec, LPVOID param ) return ERROR_FUNCTION_FAILED; control->handler = msi_dialog_radiogroup_handler; + if (!lstrcmpW(control->name, group->propval)) + SendMessageW(control->hwnd, BM_SETCHECK, BST_CHECKED, 0); + prop = MSI_RecordGetString( rec, 1 ); if( prop ) control->property = strdupW( prop ); @@ -1395,9 +1399,11 @@ static UINT msi_dialog_radiogroup_control( msi_dialog *dialog, MSIRECORD *rec ) group.dialog = dialog; group.parent = control; group.attributes = MSI_RecordGetInteger( rec, 8 ); + group.propval = msi_dup_property( dialog->package, control->property ); r = MSI_IterateRecords( view, 0, msi_dialog_create_radiobutton, &group ); msiobj_release( &view->hdr ); + msi_free( group.propval ); return r; }