On Mon, 6 Jan 2020 21:01:25 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 > > The pull request has been updated with 1 additional commit. ------------- Marked as reviewed by prr (Reviewer). PR: https://git.openjdk.java.net/jfx/pull/70