Buggy code:
public class Spinner extends Composite { static final int INNER_BORDER = 2 ; static final int MIN_ARROW_WIDTH = 6 ; int lastEventTime = 0 ; public Spinner ( Composite parent , int style ) { } public void addModifyListener ( ModifyListener listener ) { } public void addSelectionListener ( SelectionListener listener ) { } void addVerifyListener ( VerifyListener listener ) { } static int checkStyle ( int style ) { } protected void checkSubclass ( ) { } public Point computeSize ( int wHint , int hHint , boolean changed ) { } public Rectangle computeTrim ( int x , int y , int width , int height ) { } public void copy ( ) { } void createHandle ( int index ) { } public void cut ( ) { } void deregister ( ) { } boolean filterKey ( int keyval , int event ) { } GdkColor getBackgroundColor ( ) { } public int getBorderWidth ( ) { } GdkColor getForegroundColor ( ) { } public int getIncrement ( ) { } public int getMaximum ( ) { } public int getMinimum ( ) { } public int getPageIncrement ( ) { } public int getSelection ( ) { } public int getDigits ( ) { } String getDecimalSeparator ( ) { } int gtk_activate ( int widget ) { } int gtk_changed ( int widget ) { } int gtk_commit ( int imContext , int text ) { } int gtk_delete_text ( int widget , int start_pos , int end_pos ) { } int gtk_event_after ( int widget , int gdkEvent ) { } int gtk_insert_text ( int widget , int new_text , int new_text_length , int position ) { } int gtk_popup_menu ( int widget ) { } int gtk_value_changed ( int widget ) { } void hookEvents ( ) { } int imContext ( ) { } int paintWindow ( ) { } public void paste ( ) { } void register ( ) { } public void removeModifyListener ( ModifyListener listener ) { } public void removeSelectionListener ( SelectionListener listener ) { } void removeVerifyListener ( VerifyListener listener ) { } void setBackgroundColor ( GdkColor color ) { } void setCursor ( int cursor ) { } void setFontDescription ( int font ) { } void setForegroundColor ( GdkColor color ) { } public void setIncrement ( int value ) { } public void setMaximum ( int value ) { } public void setMinimum ( int value ) { } public void setPageIncrement ( int value ) { } public void setSelection ( int value ) { } public void setDigits ( int digits ) { checkWidget ( ) ; if ( digits < 0 ) <START_BUG> return ; <END_BUG> int oldDigits = OS . gtk_spin_button_get_digits ( handle ) ; if ( digits == oldDigits ) return ; int hAdjustment = OS . gtk_spin_button_get_adjustment ( handle ) ; GtkAdjustment adjustment = new GtkAdjustment ( ) ; OS . memmove ( adjustment , hAdjustment ) ; int diff = Math . abs ( ( digits - oldDigits ) ) ; int factor = 1 ; for ( int i = 0 ; i < diff ; i ++ ) factor *= 10 ; if ( oldDigits > digits ) { adjustment . value *= factor ; adjustment . upper *= factor ; adjustment . lower *= factor ; adjustment . step_increment *= factor ; adjustment . page_increment *= factor ; } else { adjustment . value //= factor ; adjustment . upper //= factor ; adjustment . lower //= factor ; adjustment . step_increment //= factor ; adjustment . page_increment //= factor ; } OS . memmove ( hAdjustment , adjustment ) ; OS . gtk_spin_button_set_digits ( handle , digits ) ; } boolean translateTraversal ( GdkEventKey keyEvent ) { } String verifyText ( String string , int start , int end ) { } }

Fix:
error ( ERROR_INVALID_ARGUMENT ) ;