<AWT Dev>  Review request for 8003399: JFileChooser gives wrong path to selected file when saving to Libraries folder on Windows 7
semyon.sadetsky at oracle.com
Thu May 7 08:14:28 UTC 2015
Please review fix for JDK9.
***THE ROOT CAUSE
JDK uses legacy WINAPI special folders calls while MS introduced a new
interfaces IKnownFolder and IShellLibrary to manage special folder
locations and the new Libraries functionality in Windows 7 is not
backward compatible with old special folders CSIDL.
Since it is too expensive to migrate AWT shell to the new interfaces and
still they are not supported in java.io the solution is to map virtual
folder PIDL to the Known Folder GUID and replace libraries links with
the default library save location. Thus the File save dialog will be
able to work with any Libraries registered in the system (Windows
Libraries concept assumes that Libraries can be added arbitrary).
The resulting code should be compatible with older Windows versions
because the new COM interfaces are called only if they are available and
a Libraries link has been actually requested.
A test scenario is added to check that all available Libraries links are
converted into filesystem paths.
More information about the awt-dev