On Sat, 1 Feb 2020 08:38:08 GMT, Kevin Rushforth <k...@openjdk.org> wrote:
>> This is a fix for >> [JDK-8231513](https://bugs.openjdk.java.net/browse/JDK-8231513) to disable >> the use of `CGEventTap` when running on macOS 10.15 or later. >> >> The effect of this bug is that a scary dialog is shown for all users the >> first time they run a JavaFX application and move the mouse is moved into >> the JavaFX window. It also is reported to block apps from being accepted in >> the Apple store. >> >> This bug is caused by a change in macOS 10.15 to require additional >> permissions for using CGEventTap, which JavaFX uses to track touch events. >> >> The suggested replacement API, >> `NSEvent::addLocalMonitorForEventsMatchingMask`, works just differently >> enough (it tracks events delivered to a specific view, whereas the current >> code is implemented using a global monitor and a global set of touch >> points), that it would be too risky to change it this late in the release. >> >> For openjfx14, I am proposing to disable touch events completely if running >> on macOS 10.15 (or later). This will disable the tracking of native touch >> events, but those events are not used by default on macOS anyway. For Mac >> systems with a trackpad we instead rely on macOS to do the gesture >> recognition by default, and this fix does not intefere with that >> functionality. >> >> I have verified that this avoids the dialog on macOS 10.15 and that the >> HelloGestures program still runs correctly and still recognizes trackpad >> gestures such as zoom and rotate. I also verified that the changes don't >> affect macOS 10.14 or earlier (the Event Tap code is still enabled on those >> older OS versions). >> >> See [this >> thread](https://mail.openjdk.java.net/pipermail/openjfx-dev/2020-January/024876.html) >> on openjfx-dev for more discussion. > > The pull request has been updated with 1 additional commit. Marked as reviewed by jvos (Reviewer). ------------- PR: https://git.openjdk.java.net/jfx/pull/102