Module: wine Branch: master Commit: e1a63fd5c254c91d8e5fd079a00073db31d91cf4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e1a63fd5c254c91d8e5fd079a0...
Author: Hans Leidekker hans@codeweavers.com Date: Mon May 31 12:13:00 2010 +0200
msi: Pass the control name to ControlEvent_SubscribeToEvent instead of uninitialized memory.
---
dlls/msi/dialog.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c index 2a00aa7..1b129e0 100644 --- a/dlls/msi/dialog.c +++ b/dlls/msi/dialog.c @@ -774,7 +774,7 @@ static UINT msi_dialog_text_control( msi_dialog *dialog, MSIRECORD *rec ) { msi_control *control; struct msi_text_info *info; - LPCWSTR text, ptr, prop; + LPCWSTR text, ptr, prop, control_name; LPWSTR font_name;
TRACE("%p %p\n", dialog, rec); @@ -787,6 +787,7 @@ static UINT msi_dialog_text_control( msi_dialog *dialog, MSIRECORD *rec ) if( !info ) return ERROR_SUCCESS;
+ control_name = MSI_RecordGetString( rec, 2 ); control->attributes = MSI_RecordGetInteger( rec, 8 ); prop = MSI_RecordGetString( rec, 9 ); control->property = msi_dialog_dup_property( dialog, prop, FALSE ); @@ -805,7 +806,7 @@ static UINT msi_dialog_text_control( msi_dialog *dialog, MSIRECORD *rec ) SetPropW( control->hwnd, szButtonData, info );
ControlEvent_SubscribeToEvent( dialog->package, dialog, - szSelectionPath, control->name, szSelectionPath ); + szSelectionPath, control_name, szSelectionPath );
return ERROR_SUCCESS; } @@ -2390,7 +2391,7 @@ done: static UINT msi_dialog_selection_tree( msi_dialog *dialog, MSIRECORD *rec ) { msi_control *control; - LPCWSTR prop; + LPCWSTR prop, control_name; MSIPACKAGE *package = dialog->package; DWORD style; struct msi_selection_tree_info *info; @@ -2410,6 +2411,7 @@ static UINT msi_dialog_selection_tree( msi_dialog *dialog, MSIRECORD *rec ) }
control->handler = msi_dialog_seltree_handler; + control_name = MSI_RecordGetString( rec, 2 ); control->attributes = MSI_RecordGetInteger( rec, 8 ); prop = MSI_RecordGetString( rec, 9 ); control->property = msi_dialog_dup_property( dialog, prop, FALSE ); @@ -2422,7 +2424,7 @@ static UINT msi_dialog_selection_tree( msi_dialog *dialog, MSIRECORD *rec ) SetPropW( control->hwnd, szButtonData, info );
ControlEvent_SubscribeToEvent( dialog->package, dialog, - szSelectionPath, control->name, szProperty ); + szSelectionPath, control_name, szProperty );
/* initialize it */ msi_seltree_create_imagelist( control->hwnd );