Buggy code:
void rightMouseDragged ( int id , int sel , int theEvent ) { } void otherMouseDown ( int id , int sel , int theEvent ) { } void otherMouseUp ( int id , int sel , int theEvent ) { } void otherMouseDragged ( 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 ) { } int regionToRects ( int message , int rgn , int r , int path ) { } void register ( ) { } void release ( boolean destroy ) { } 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 ) { } void removeRelation ( ) { } public void removeTraverseListener ( TraverseListener listener ) { } void resetVisibleRegion ( ) { } void resized ( ) { } boolean sendDragEvent ( int button , int stateMask , int x , int y ) { } void sendFocusEvent ( int type , boolean post ) { } boolean sendMouseEvent ( NSEvent nsEvent , int type , boolean send ) { } void setBackground ( ) { } public void setBackground ( Color color ) { } public void setBackgroundImage ( Image image ) { } void setBackground ( 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 ) { } void setClipRegion ( float x , float y ) { } 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 ) { } void setForeground ( float [ ] color ) { } void setFrameOrigin ( int id , int sel , NSPoint point ) { } void setFrameSize ( int id , int sel , NSSize size ) { } public void setLayoutData ( Object layoutData ) { } public void setLocation ( int x , int y ) { } public void setLocation ( Point location ) { } public void setMenu ( Menu menu ) { } public boolean setParent ( Composite parent ) { } public void setRedraw ( boolean redraw ) { } public void setRegion ( Region region ) { } void setRelations ( ) { } boolean setRadioSelection ( boolean value ) { } public void setSize ( int width , int height ) { } public void setSize ( Point size ) { } void setSmallSize ( ) { } boolean setTabGroupFocus ( ) { } boolean setTabItemFocus ( ) { } public void setToolTipText ( String string ) { } public void setVisible ( boolean visible ) { } void setZOrder ( ) { } boolean shouldDelayWindowOrderingForEvent_ ( int id , int sel , int theEvent ) { } void setZOrder ( Control sibling , boolean above ) { } void sort ( int [ ] items ) { } String tooltipText ( ) { } public Point toControl ( int x , int y ) { } public Point toControl ( Point point ) { } public Point toDisplay ( int x , int y ) { } public Point toDisplay ( Point point ) { } NSView topView ( ) { } boolean translateTraversal ( int key , NSEvent theEvent , boolean [ ] consume ) { } int traversalCode ( int key , NSEvent theEvent ) { } boolean traverseMnemonic ( char key ) { } public boolean traverse ( int traversal ) { } boolean traverse ( Event event ) { } boolean traverseEscape ( ) { } boolean traverseGroup ( boolean next ) { } boolean traverseItem ( boolean next ) { } boolean traverseReturn ( ) { } boolean traversePage ( boolean next ) { } boolean traverseMnemonic ( Event event ) { } public void update ( ) { } void update ( boolean all ) { <START_BUG> if ( display . inPaint ) <END_BUG> return ; view . displayIfNeeded ( ) ; } void updateBackgroundMode ( ) { } void resetCursorRects ( int id , int sel ) { } void updateTrackingAreas ( int id , int sel ) { } void updateCursorRects ( boolean enabled ) { } void updateCursorRects ( boolean enabled , NSView widget ) { } void updateLayout ( boolean all ) { } }

Fix:
if ( isPainting . containsObject ( view ) )