# C  [AppKit+0x3a528e]  -[NSApplication _crashOnException:]+0x6d

The app is crashed as soon as I start scrolling. Investigating...
May be it is my fault during backporting.



LWCToolkit.m:
+// SCROLL EVENT MASK
+#define SCROLL_PHASE_UNSUPPORTED 1
...

replace the comment with the following one:

+// TRACKPAD SCROLL EVENT PHASE

On Fri, Sep 30, 2016 at 12:30 AM, Alexander Scherbatiy
<alexandr.scherba...@oracle.com> wrote:
>
> Hello,
>
> Could you review the updated fix:
>   http://cr.openjdk.java.net/~alexsch/8166591/webrev.04
>
> The fix uses the proposed changes below and sets a wheel rotation to +1 or
> -1 when the scroll phase is ended and the accumulates delta value is small
> than the threshold.
>
> Thanks,
> Alexandr.
>
>
> On 29/09/16 22:56, Sergey Malenkov wrote:
>>>
>>> - The SCROLL_MASK_PHASE_CANCELLED  and SCROLL_MASK_PHASE_ENDED scroll
>>> masks
>>> are added.
>>
>> Now we use the scrollMask value and the following constants:
>>
>> static final int SCROLL_MASK_WHEEL = 1;
>> static final int SCROLL_MASK_TRACKPAD = 1 << 1;
>> static final int SCROLL_MASK_PHASE_BEGAN = 1 << 2;
>> static final int SCROLL_MASK_PHASE_CANCELLED = 1 << 3;
>> static final int SCROLL_MASK_PHASE_ENDED = 1 << 4;
>>
>> All these masks cannot be used together.
>> So I suggest to replace it with the scrollPhase value:
>>
>> static final int SCROLL_PHASE_UNSUPPORTED = 0; // for mouse events
>> static final int SCROLL_PHASE_BEGAN = 1;
>> static final int SCROLL_PHASE_CONTINUED = 2;
>> static final int SCROLL_PHASE_CANCELLED = 3;
>> static final int SCROLL_PHASE_ENDED = 4;
>>
>> It simplifies if-statements:
>> - if ((scrollMask & NSEvent.SCROLL_MASK_PHASE_BEGAN) != 0) {
>> + if (scrollPhase == NSEvent.SCROLL_PHASE_BEGAN) {
>>
>> and the following method:
>>
>> + (jint) scrollTypeToMask: (NSEventPhase) phase {
>>      if (phase) return SCROLL_PHASE_UNSUPPORTED;
>>      switch (phase) {
>>          case NSEventPhaseBegan:    return SCROLL_MASK_PHASE_BEGAN;
>>          case NSEventPhaseCancelled:    return
>> SCROLL_MASK_PHASE_CANCELLED;
>>          case NSEventPhaseEnded:    return SCROLL_MASK_PHASE_ENDED;
>>      }
>>      return SCROLL_PHASE_CONTINUED;
>> }
>>
>> What do you think?
>>
>



-- 
Best regards,
Sergey A. Malenkov

Reply via email to