diff --git a/docs/changes.txt b/docs/changes.txt index 6cfa969ff0..b2891a46ba 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -644,6 +644,8 @@ wxMSW: - Fix handling of controls in the vertical toolbars (Artur Wieczorek). - Fix loading of top to bottom BMP files in wxBitmap (Artur Wieczorek). - Fix resource leak in wxStaticBitmap with RGBA icons (Artur Wieczorek). +- Disable the use of new style wxDirDialog under Vista to work around a bug in + its implementation under this system (jtrauntvein). wxOSX: diff --git a/src/msw/dirdlg.cpp b/src/msw/dirdlg.cpp index cec2c85b7a..549adec9ba 100644 --- a/src/msw/dirdlg.cpp +++ b/src/msw/dirdlg.cpp @@ -228,7 +228,12 @@ int wxDirDialog::ShowModal() // Use IFileDialog under new enough Windows, it's more user-friendly. int rc; #if wxUSE_IFILEDIALOG - if ( wxGetWinVersion() >= wxWinVersion_Vista ) + // While the new dialog is available under Vista, it may return a wrong + // path there (see http://support.microsoft.com/kb/969885/en-us), so we + // don't use it there by default. We could improve the version test to + // allow its use if the comdlg32.dll version is greater than 6.0.6002.22125 + // as this means that the hotfix correcting this bug is installed. + if ( wxGetWinVersion() > wxWinVersion_Vista ) { rc = ShowIFileDialog(hWndParent); }