RFR: 8236685: [macOs] Remove obsolete file dialog subclasses

Kevin Rushforth kcr at openjdk.java.net
Wed Mar 4 21:00:55 UTC 2020


On Wed, 4 Mar 2020 20:27:46 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:

> This is a follow-on to [JDK-8234474](https://bugs.openjdk.java.net/browse/JDK-8234474).
> 
> This fix removes the custom subclasses of NSSavePanel and NSOpenPanel that are optionally used by the glass implementation of file open, directory open, and file save. These subclasses were originally added to provide support for keyboard shortcuts for Copy (CMD-C), Cut (CMD-X), and Paste (CMD-V) operations that the standard Apple dialogs do not support directly; applications can add their own support, but JavaFX is a library not an application.
> 
> Note that as of macOS 10.15, all file dialogs on Mac are run in a spearate process. Attempts to subclass NSSavePanel and NSOpenPanel are no longer supported. They are either ineffective (silently ignored) or else crash the application. As a result of the crashes that were happening in some environments, the fix for [JDK-8234474](https://bugs.openjdk.java.net/browse/JDK-8234474) uses the NSSavePanel and NSOpenPanel base classes directly when running on macOS 10.15 or later. The proposed fix for this follow-on issue, [JDK-8236685](https://bugs.openjdk.java.net/browse/JDK-8236685), will use NSSavePanel and NSOpenPanel directly on all versions of macOS.
> 
> Note that Copy, Cut, and Paste functionality are available with the menu before and after this fix. This only impacts the keyboard shortcuts.

@arapte @prrace can you review this follow-on fix?

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

PR: https://git.openjdk.java.net/jfx/pull/135


More information about the openjfx-dev mailing list