Buggy code:
public class Composite extends Scrollable { public int embeddedHandle ; int imHandle ; int socketHandle ; Layout layout ; Control [ ] tabList ; int layoutCount ; int backgroundMode ; static final String NO_INPUT_METHOD = "org.eclipse.swt.internal.gtk.noInputMethod" ; Composite ( ) { } public Composite ( Composite parent , int style ) { } static int checkStyle ( int style ) { } Control [ ] _getChildren ( ) { } Control [ ] _getTabList ( ) { } public void changed ( Control [ ] changed ) { } void checkBuffered ( ) { } protected void checkSubclass ( ) { } int childStyle ( ) { } public Point computeSize ( int wHint , int hHint , boolean changed ) { } Control [ ] computeTabList ( ) { } void createHandle ( int index ) { } void createHandle ( int index , boolean fixed , boolean scrolled ) { if ( scrolled ) { if ( fixed ) { fixedHandle = OS . g_object_new ( display . gtk_fixed_get_type ( ) , 0 ) ; if ( ( fixedHandle ) == 0 ) error ( ERROR_NO_HANDLES ) ; OS . gtk_fixed_set_has_window ( fixedHandle , true ) ; } int vadj = OS . gtk_adjustment_new ( 0 , 0 , 100 , 1 , 10 , 10 ) ; if ( vadj == 0 ) error ( ERROR_NO_HANDLES ) ; int hadj = OS . gtk_adjustment_new ( 0 , 0 , 100 , 1 , 10 , 10 ) ; if ( hadj == 0 ) error ( ERROR_NO_HANDLES ) ; scrolledHandle = OS . gtk_scrolled_window_new ( hadj , vadj ) ; if ( ( scrolledHandle ) == 0 ) SWT . error ( ERROR_NO_HANDLES ) ; } handle = OS . g_object_new ( display . gtk_fixed_get_type ( ) , 0 ) ; if ( ( handle ) == 0 ) SWT . error ( ERROR_NO_HANDLES ) ; OS . gtk_fixed_set_has_window ( handle , true ) ; OS . GTK_WIDGET_SET_FLAGS ( handle , GTK_CAN_FOCUS ) ; if ( ( ( style ) & ( SWT . EMBEDDED ) ) == 0 ) { <START_BUG> if ( ( ( ( state ) & ( CANVAS ) ) != 0 ) && ( ( ( style ) & ( SWT . NO_FOCUS ) ) == 0 ) ) { <END_BUG> if ( ( display . getData ( Composite . NO_INPUT_METHOD ) ) == null ) { imHandle = OS . gtk_im_multicontext_new ( ) ; if ( ( imHandle ) == 0 ) error ( ERROR_NO_HANDLES ) ; } } } if ( scrolled ) { if ( fixed ) OS . gtk_container_add ( fixedHandle , scrolledHandle ) ; boolean warnings = display . getWarnings ( ) ; display . setWarnings ( false ) ; OS . gtk_container_add ( scrolledHandle , handle ) ; display . setWarnings ( warnings ) ; int hsp = ( ( ( style ) & ( SWT . H_SCROLL ) ) != 0 ) ? OS . GTK_POLICY_ALWAYS : OS . GTK_POLICY_NEVER ; int vsp = ( ( ( style ) & ( SWT . V_SCROLL ) ) != 0 ) ? OS . GTK_POLICY_ALWAYS : OS . GTK_POLICY_NEVER ; OS . gtk_scrolled_window_set_policy ( scrolledHandle , hsp , vsp ) ; if ( hasBorder ( ) ) { OS . gtk_scrolled_window_set_shadow_type ( scrolledHandle , GTK_SHADOW_ETCHED_IN ) ; } } if ( ( ( style ) & ( SWT . EMBEDDED ) ) != 0 ) { socketHandle = OS . gtk_socket_new ( ) ; if ( ( socketHandle ) == 0 ) SWT . error ( ERROR_NO_HANDLES ) ; OS . gtk_container_add ( handle , socketHandle ) ; } if ( ( ( ( style ) & ( SWT . NO_REDRAW_RESIZE ) ) != 0 ) && ( ( ( style ) & ( SWT . RIGHT_TO_LEFT ) ) == 0 ) ) { OS . gtk_widget_set_redraw_on_allocate ( handle , false ) ; } if ( ( ( ( style ) & ( SWT . DOUBLE_BUFFERED ) ) == 0 ) && ( ( ( style ) & ( SWT . NO_BACKGROUND ) ) != 0 ) ) { OS . gtk_widget_set_double_buffered ( handle , false ) ; } } void deregister ( ) { } void drawBackground ( GC gc , int x , int y , int width , int height ) { } void enableWidget ( boolean enabled ) { } Composite findDeferredControl ( ) { } Menu [ ] findMenus ( Control control ) { } void fixChildren ( Shell newShell , Shell oldShell , Decorations newDecorations , Decorations oldDecorations , Menu [ ] menus ) { } void fixModal ( int group , int modalGroup ) { } void fixStyle ( ) { } void fixTabList ( Control control ) { } void fixZOrder ( ) { } int focusHandle ( ) { } boolean forceFocus ( int focusHandle ) { } public int getBackgroundMode ( ) { } public Control [ ] getChildren ( ) { } int getChildrenCount ( ) { } public Rectangle getClientArea ( ) { } int getClientWidth ( ) { } public Layout getLayout ( ) { } public boolean getLayoutDeferred ( ) { } public Control [ ] getTabList ( ) { } int gtk_button_press_event ( int widget , int event ) { } int gtk_expose_event ( int widget , int eventPtr ) { } int gtk_key_press_event ( int widget , int event ) { } int gtk_focus ( int widget , int directionType ) { } int gtk_focus_in_event ( int widget , int event ) { } int gtk_focus_out_event ( int widget , int event ) { } int gtk_map ( int widget ) { } int gtk_realize ( int widget ) { } int gtk_scroll_child ( int widget , int scrollType , int horizontal ) { } int gtk_style_set ( int widget , int previousStyle ) { } boolean hasBorder ( ) { } void hookEvents ( ) { }

Fix:
if ( ( ( state ) & ( CANVAS ) ) != 0 ) {