> This PR is a fix for > [JDK-8234474](https://bugs.openjdk.java.net/browse/JDK-8234474), a crash in > the code that shows a file open or save dialog. > > In order to provide additional support for Copy (CMD-C), Cut (CMD-X), and > Paste (CMD-V), the Glass implementation for displaying a file open or save > dialog subclasses NSSavePanel or NSOpenPanel to add this support. When the > application is running in sandboxed mode, the dialogs are shown > out-of-process by the "powerbox". In this mode, attempting to use our > subclass results in a security exception. Previously, we added code to detect > whether we were running in a sandbox as a fix for > [JDK-8092977](https://bugs.openjdk.java.net/browse/JDK-8092977); we now use > NSSavePanel or NSOpenPanel directly when in sandboxed mode. > > Starting with macOS 10.15 (Catalina) Apple always displays file dialogs > out-of-process via powerbox, so our use of a subclass is ineffective. > Further, we have reports of some cases where we crash even though our sandbox > detection code doesn't indicate that we are running in a sandbox. > > Since there is no point in trying to use our subclasses on macOS 10.15 or > later, I propose to fix this bug by changing the logic so that we use > NSSavePanel or NSOpenPanel directly in either of the following conditions: > > 1) the app is running in sandbox mode > OR > 2) The platform is macOS 10.15 or later
The pull request has been updated with 1 additional commit. ------------- Added commits: - b13da6f7: Update copyright year to 2020 Changes: - all: https://git.openjdk.java.net/jfx/pull/70/files - new: https://git.openjdk.java.net/jfx/pull/70/files/dca394e6..b13da6f7 Webrevs: - full: https://webrevs.openjdk.java.net/jfx/70/webrev.01 - incr: https://webrevs.openjdk.java.net/jfx/70/webrev.00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jfx/pull/70.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/70/head:pull/70 PR: https://git.openjdk.java.net/jfx/pull/70