> 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. ------------- Added commits: - 526f3bf5: make useEventTap static Changes: - all: https://git.openjdk.java.net/jfx/pull/102/files - new: https://git.openjdk.java.net/jfx/pull/102/files/d6109fb1..526f3bf5 Webrevs: - full: https://webrevs.openjdk.java.net/jfx/102/webrev.01 - incr: https://webrevs.openjdk.java.net/jfx/102/webrev.00-01 Stats: 12 lines in 1 file changed: 1 ins; 10 del; 1 mod Patch: https://git.openjdk.java.net/jfx/pull/102.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/102/head:pull/102 PR: https://git.openjdk.java.net/jfx/pull/102