On Thu, 19 Dec 2019 00:08:06 GMT, Kevin Rushforth <k...@openjdk.org> wrote:

> 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

This will need two reviewers.

@arapte I'd like you to be one of the reviewers.

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

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

Reply via email to