Hello,
Could you review the updated fix:
http://cr.openjdk.java.net/~alexsch/8166591/webrev.03
- NSEvent constructor call is updated in the CTrayIcon.m
- The SCROLL_MASK_PHASE_CANCELLED and SCROLL_MASK_PHASE_ENDED scroll
masks are added.
Thanks,
Alexandr.
On 29/09/16 17:29, Sergey Malenkov wrote:
The signature of the NSEvent constructor is changed.
It is called from AWTView.m (fixed) and CTrayIcon.m (!not fixed!)
Could you please support not only the phase start, but the phase end too?
It will be useful, when we decide to support precise scrolling in JScrollPane,
because we will be able to align precise wheel rotation to integer part.
So when an user stops scrolling we can align lines in a lists or trees.
Could you review the fix:
bug: https://bugs.openjdk.java.net/browse/JDK-8166591
webrev: http://cr.openjdk.java.net/~alexsch/8166591/webrev.02
This issue has been risen and investigated by JetBrains team in the
email:
http://mail.openjdk.java.net/pipermail/awt-dev/2016-September/011991.html
MacOS Sierra 10.12 sends many scroll events with values close to zero
when the trackpad is used. The small scroll values are rounded to +1 or -1
so one line scroll would be possible. It leads that many small scroll events
causes fast scrolling.
The proposed fix accumulates scroll values from the trackpad until they
exceed some threshold values. Only after that MouseWheelEvent.wheelRotation
value is set. Mouse wheel scroll events are handled as before, small values
are just rounded to + or -1.