From e3496be256a563c97e91871ef21f149bae4d63be Mon Sep 17 00:00:00 2001 From: James Hawkins Date: Tue, 3 Oct 2006 14:59:52 -0700 Subject: [PATCH] msi: Assign the property to path if the property is empty. --- dlls/msi/dialog.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c index fcbd7660735..b4e9ce329b2 100644 --- a/dlls/msi/dialog.c +++ b/dlls/msi/dialog.c @@ -1456,6 +1456,9 @@ static void msi_dialog_update_pathedit( msi_dialog *dialog, msi_control *control prop = msi_dialog_dup_property( dialog, control->property, indirect ); path = msi_dup_property( dialog->package, prop ); + if (!path) + path = prop; + SetWindowTextW( control->hwnd, path ); SendMessageW( control->hwnd, EM_SETSEL, 0, -1 ); @@ -2083,7 +2086,10 @@ static void msi_dialog_update_directory_combo( msi_dialog *dialog, msi_control * indirect = control->attributes & msidbControlAttributesIndirect; prop = msi_dialog_dup_property( dialog, control->property, indirect ); + path = msi_dup_property( dialog->package, prop ); + if (!path) + path = prop; PathStripPathW( path ); PathRemoveBackslashW( path ); @@ -2140,7 +2146,10 @@ static void msi_dialog_update_directory_list( msi_dialog *dialog, msi_control *c indirect = control->attributes & msidbControlAttributesIndirect; prop = msi_dialog_dup_property( dialog, control->property, indirect ); + path = msi_dup_property( dialog->package, prop ); + if (!path) + path = prop; lstrcpyW( dir_spec, path ); lstrcatW( dir_spec, asterisk ); @@ -2182,6 +2191,8 @@ UINT msi_dialog_directorylist_up( msi_dialog *dialog ) prop = msi_dialog_dup_property( dialog, control->property, indirect ); path = msi_dup_property( dialog->package, prop ); + if (!path) + path = prop; /* strip off the last directory */ ptr = PathFindFileNameW( path ); @@ -2230,7 +2241,10 @@ static UINT msi_dialog_dirlist_handler( msi_dialog *dialog, indirect = control->attributes & msidbControlAttributesIndirect; prop = msi_dialog_dup_property( dialog, control->property, indirect ); + path = msi_dup_property( dialog->package, prop ); + if (!path) + path = prop; lstrcpyW( new_path, path ); lstrcatW( new_path, text );