Buggy code:
public void internal_dispose_GC ( int context , GCData data ) { } public boolean isEnabled ( ) { } boolean isEnabledCursor ( ) { } boolean isFocusAncestor ( Control control ) { } public boolean isFocusControl ( ) { } public boolean isReparentable ( ) { } boolean isShowing ( ) { } boolean isTabGroup ( ) { } boolean isTabItem ( ) { } boolean isTrim ( NSView view ) { } public boolean isVisible ( ) { } void keyDown ( int id , int sel , int theEvent ) { } void keyUp ( int id , int sel , int theEvent ) { } void markLayout ( boolean changed , boolean all ) { } int menuForEvent ( int id , int sel , int theEvent ) { } Decorations menuShell ( ) { } void scrollWheel ( int id , int sel , int theEvent ) { } void mouseDown ( int id , int sel , int theEvent ) { } void moved ( ) { } public void moveAbove ( Control control ) { } public void moveBelow ( Control control ) { } Accessible new_Accessible ( Control control ) { } public void pack ( ) { } public void pack ( boolean changed ) { } public boolean print ( GC gc ) { } public void redraw ( ) { } void redraw ( boolean children ) { } public void redraw ( int x , int y , int width , int height , boolean all ) { } void register ( ) { } void releaseHandle ( ) { } void releaseParent ( ) { } void releaseWidget ( ) { } public void removeControlListener ( ControlListener listener ) { } public void removeDragDetectListener ( DragDetectListener listener ) { } public void removeFocusListener ( FocusListener listener ) { } public void removeHelpListener ( HelpListener listener ) { } public void removeKeyListener ( KeyListener listener ) { } public void removeMenuDetectListener ( MenuDetectListener listener ) { } public void removeMouseListener ( MouseListener listener ) { } public void removeMouseMoveListener ( MouseMoveListener listener ) { } public void removeMouseTrackListener ( MouseTrackListener listener ) { } public void removeMouseWheelListener ( MouseWheelListener listener ) { } public void removePaintListener ( PaintListener listener ) { } public void removeTraverseListener ( TraverseListener listener ) { } void resized ( ) { } boolean sendDragEvent ( int button , int stateMask , int x , int y ) { } boolean sendDragEvent ( NSEvent nsEvent ) { } void sendFocusEvent ( int type , boolean post ) { } boolean sendMouseEvent ( NSEvent nsEvent , int type , boolean send ) { NSInputManager manager = NSInputManager . currentInputManager ( ) ; if ( ( manager != null ) && ( manager . wantsToHandleMouseEvents ( ) ) ) { if ( manager . handleMouseEvent ( nsEvent ) ) { return true ; } } Shell shell = null ; Event event = new Event ( ) ; switch ( type ) { case SWT . MouseDown : shell = getShell ( ) ; case SWT . MouseUp : case SWT . MouseDoubleClick : int button = ( ( int ) ( nsEvent . buttonNumber ( ) ) ) ; switch ( button ) { case 0 : event . button = 1 ; break ; case 1 : event . button = 3 ; break ; case 2 : event . button = 2 ; break ; case 3 : event . button = 4 ; break ; case 4 : event . button = 5 ; break ; } break ; case SWT . MouseWheel : event . detail = SWT . SCROLL_LINE ; <START_BUG> double delta = nsEvent . deltaY ( ) ; <END_BUG> event . count = ( delta > 0 ) ? Math . max ( 1 , ( ( int ) ( delta ) ) ) : Math . min ( ( - 1 ) , ( ( int ) ( delta ) ) ) ; break ; } if ( ( event . button ) != 0 ) event . count = ( ( int ) ( nsEvent . clickCount ( ) ) ) ; NSPoint windowPoint = view . window ( ) . convertScreenToBase ( NSEvent . mouseLocation ( ) ) ; NSPoint point = view . convertPoint_fromView_ ( windowPoint , null ) ; event . x = ( ( int ) ( point . x ) ) ; event . y = ( ( int ) ( point . y ) ) ; setInputState ( event , nsEvent , type ) ; if ( send ) { sendEvent ( type , event ) ; if ( isDisposed ( ) ) return false ; } else { postEvent ( type , event ) ; } if ( shell != null ) shell . setActiveControl ( this ) ; return event . doit ; } void setBackground ( ) { } public void setBackground ( Color color ) { } public void setBackgroundImage ( Image image ) { } void setBackground ( float [ ] color ) { } void setBackground ( int control , float [ ] color ) { } public void setBounds ( int x , int y , int width , int height ) { } void setBounds ( int x , int y , int width , int height , boolean move , boolean resize ) { } public void setBounds ( Rectangle rect ) { } public void setCapture ( boolean capture ) { } public void setCursor ( Cursor cursor ) { } void setDefaultFont ( ) { } public void setDragDetect ( boolean dragDetect ) { } public void setEnabled ( boolean enabled ) { } public boolean setFocus ( ) { } public void setFont ( Font font ) { } void setFont ( NSFont font ) { } public void setForeground ( Color color ) { }

Fix:
float delta = nsEvent . deltaY ( ) ;