Buggy code:
public final class GC { public int handle ; Drawable drawable ; GCData data ; GC ( ) { } public GC ( Drawable drawable ) { } public GC ( Drawable drawable , int style ) { } static int checkStyle ( int style ) { } public static GC gtk_new ( Drawable drawable , GCData data ) { } public void copyArea ( Image image , int x , int y ) { } public void copyArea ( int srcX , int srcY , int width , int height , int destX , int destY ) { } public void dispose ( ) { } public void drawArc ( int x , int y , int width , int height , int startAngle , int arcAngle ) { } public void drawFocus ( int x , int y , int width , int height ) { if ( ( handle ) == 0 ) SWT . error ( ERROR_GRAPHIC_DISPOSED ) ; int style = OS . gtk_widget_get_style ( data . device . shellHandle ) ; <START_BUG> OS . gtk_paint_focus ( style , data . drawable , GTK_STATE_NORMAL , null , 0 , new byte [ 1 ] , x , y , width , height ) ; <END_BUG> } public void drawImage ( Image image , int x , int y ) { } public void drawImage ( Image image , int srcX , int srcY , int srcWidth , int srcHeight , int destX , int destY , int destWidth , int destHeight ) { } void drawImage ( Image srcImage , int srcX , int srcY , int srcWidth , int srcHeight , int destX , int destY , int destWidth , int destHeight , boolean simple ) { } void drawImage ( Image srcImage , int srcX , int srcY , int srcWidth , int srcHeight , int destX , int destY , int destWidth , int destHeight , boolean simple , int imgWidth , int imgHeight ) { } void drawImageAlpha ( Image srcImage , int srcX , int srcY , int srcWidth , int srcHeight , int destX , int destY , int destWidth , int destHeight , boolean simple , int imgWidth , int imgHeight ) { } void drawImageMask ( Image srcImage , int srcX , int srcY , int srcWidth , int srcHeight , int destX , int destY , int destWidth , int destHeight , boolean simple , int imgWidth , int imgHeight ) { } int scale ( int src , int srcX , int srcY , int srcWidth , int srcHeight , int destWidth , int destHeight ) { } public void drawLine ( int x1 , int y1 , int x2 , int y2 ) { } public void drawOval ( int x , int y , int width , int height ) { } public void drawPath ( Path path ) { } public void drawPoint ( int x , int y ) { } public void drawPolygon ( int [ ] pointArray ) { } public void drawPolyline ( int [ ] pointArray ) { } void drawPolyline ( int cairo , int [ ] pointArray , boolean close ) { } public void drawRectangle ( int x , int y , int width , int height ) { } public void drawRectangle ( Rectangle rect ) { } public void drawRoundRectangle ( int x , int y , int width , int height , int arcWidth , int arcHeight ) { } public void drawString ( String string , int x , int y ) { } public void drawString ( String string , int x , int y , boolean isTransparent ) { } public void drawText ( String string , int x , int y ) { } public void drawText ( String string , int x , int y , boolean isTransparent ) { } public void drawText ( String string , int x , int y , int flags ) { } public boolean equals ( Object object ) { } public void fillArc ( int x , int y , int width , int height , int startAngle , int arcAngle ) { } public void fillGradientRectangle ( int x , int y , int width , int height , boolean vertical ) { } public void fillOval ( int x , int y , int width , int height ) { } public void fillPath ( Path path ) { } public void fillPolygon ( int [ ] pointArray ) { } public void fillRectangle ( int x , int y , int width , int height ) { } public void fillRectangle ( Rectangle rect ) { } public void fillRoundRectangle ( int x , int y , int width , int height , int arcWidth , int arcHeight ) { } int fixMnemonic ( char [ ] buffer ) { } public int getAdvanceWidth ( char ch ) { } public int getAlpha ( ) { } public Color getBackground ( ) { } public int getCharWidth ( char ch ) { } public Rectangle getClipping ( ) { } public void getClipping ( Region region ) { } public Font getFont ( ) { } public FontMetrics getFontMetrics ( ) { } public Color getForeground ( ) { } public int getLineCap ( ) { } public int [ ] getLineDash ( ) { } public int getLineJoin ( ) { } public int getLineStyle ( ) { } public int getLineWidth ( ) { } public int getStyle ( ) { } public void getTransform ( Transform transform ) { } public boolean getXORMode ( ) { } public int hashCode ( ) { } void init ( Drawable drawable , GCData data , int gdkGC ) { } void initCairo ( ) { } public boolean isClipped ( ) { } public boolean isDisposed ( ) { }

Fix:
OS . gtk_paint_focus ( style , data . drawable , GTK_STATE_NORMAL , null , data . device . shellHandle , new byte [ 1 ] , x , y , width , height ) ;