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.

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

Commits:
 - 1075250a: 8236685: [macOs] Remove obsolete file dialog subclasses

Changes: https://git.openjdk.java.net/jfx/pull/135/files
 Webrev: https://webrevs.openjdk.java.net/jfx/135/webrev.00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8236685
  Stats: 121 lines in 3 files changed: 0 ins; 118 del; 3 mod
  Patch: https://git.openjdk.java.net/jfx/pull/135.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/135/head:pull/135

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

Reply via email to