RFR: 8307105: JFileChooser InvalidPathException when selecting some system folders on Windows [v3]

Alexey Ivanov aivanov at openjdk.org
Fri May 26 14:53:56 UTC 2023


On Fri, 26 May 2023 14:38:54 GMT, Tejesh R <tr at openjdk.org> wrote:

>>> So now two modifications are required.
>>> 
>>> 1. Modify `isLink` of win32ShellFolder class to return true only if its  `.lnk`.
>> 
>> This should be enough to fix this bug.
>> 
>> This should enable the support for Windows junctions too.
>> 
>>> 2. isFileSystem of FileSystemView to return true only if its valid fileSystem, except isLink which actually solves the problem of isFileSystem returning false for links (hard/soft).
>> 
>> This is automatically resolved by the first change.
>> 
>> Currently, `isFileSystem` returns `false` when both `isLink` and `isDirectory` return `true`, which is the case for symbolic links and junctions.
>> 
>> Then you have to remove the additional conditions that you added in [JDK-8281966](https://bugs.openjdk.org/browse/JDK-8281966).
>
> Yeah, this should do the work.

To re-iterate:

> Currently, `isFileSystem` returns `false` when both `isLink` and `isDirectory` return `true`, which is the case for symbolic links and junctions.

This is the root cause why symbolic links need special handling.

So, if you make `isLink` return `false` for symbolic links and junctions, `isFileSystem` will return `true`. That's what we want: neither symbolic links nor junctions need special handling.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/13998#discussion_r1206905684



More information about the client-libs-dev mailing list