Mike McCormack : msi: Set a default radio button.

Alexandre Julliard julliard at wine.codeweavers.com
Wed May 24 04:00:35 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 6df2c04f203b04e211ed734f42a2d5c5c672b6f6
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=6df2c04f203b04e211ed734f42a2d5c5c672b6f6

Author: Mike McCormack <mike at codeweavers.com>
Date:   Wed May 24 17:41:17 2006 +0900

msi: Set a default radio button.

---

 dlls/msi/dialog.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c
index a48ab1e..7949ecd 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_radiobutto
         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_contro
     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;
 }




More information about the wine-cvs mailing list