James Hawkins : msi: Update the DirectoryCombo control in response to the DirectoryListUp event .

Alexandre Julliard julliard at wine.codeweavers.com
Tue Aug 29 07:19:32 CDT 2006


Module: wine
Branch: master
Commit: 6320d0adef3003d3bc941856c29c6bbb41f09df8
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=6320d0adef3003d3bc941856c29c6bbb41f09df8

Author: James Hawkins <truiken at gmail.com>
Date:   Mon Aug 28 17:54:43 2006 -0700

msi: Update the DirectoryCombo control in response to the DirectoryListUp event.

---

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

diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c
index 5fa599f..0e19cf0 100644
--- a/dlls/msi/dialog.c
+++ b/dlls/msi/dialog.c
@@ -1979,6 +1979,27 @@ static UINT msi_dialog_list_box( msi_dia
 
 /******************** Directory Combo ***************************************/
 
+static void msi_dialog_update_directory_combo( msi_dialog *dialog )
+{
+    msi_control *control;
+    LPWSTR prop, path;
+    BOOL indirect;
+
+    control = msi_dialog_find_control( dialog, szDirectoryCombo );
+    indirect = control->attributes & msidbControlAttributesIndirect;
+    prop = msi_dialog_dup_property( dialog, control->property, indirect );
+    path = msi_dup_property( dialog->package, prop );
+
+    PathStripPathW( path );
+    PathRemoveBackslashW( path );
+
+    SendMessageW( control->hwnd, CB_INSERTSTRING, 0, (LPARAM)path );
+    SendMessageW( control->hwnd, CB_SETCURSEL, 0, 0 );
+
+    msi_free( path );
+    msi_free( prop );
+}
+
 static UINT msi_dialog_directory_combo( msi_dialog *dialog, MSIRECORD *rec )
 {
     msi_control *control;
@@ -2035,6 +2056,7 @@ UINT msi_dialog_directorylist_up( msi_di
 
     MSI_SetPropertyW( dialog->package, prop, path );
 
+    msi_dialog_update_directory_combo( dialog );
     msi_dialog_update_pathedit( dialog );
 
     msi_free( path );




More information about the wine-cvs mailing list