Buggy code:
public class Combo extends Composite { int arrowHandle ; int entryHandle ; int listHandle ; int lastEventTime ; int visibleCount = 5 ; String [ ] items = new String [ 0 ] ; boolean ignoreSelect ; boolean lockText ; static final int INNER_BORDER = 2 ; public static final int LIMIT ; public Combo ( Composite parent , int style ) { } public void add ( String string ) { } public void add ( String string , int index ) { } public void addModifyListener ( ModifyListener listener ) { } public void addSelectionListener ( SelectionListener listener ) { } public void addVerifyListener ( VerifyListener listener ) { } static int checkStyle ( int style ) { } protected void checkSubclass ( ) { } public void clearSelection ( ) { } public Point computeSize ( int wHint , int hHint , boolean changed ) { } public void copy ( ) { } void createHandle ( int index ) { } public void cut ( ) { } void deregister ( ) { } boolean filterKey ( int keyval , int event ) { } int fontHandle ( ) { } int focusHandle ( ) { } boolean hasFocus ( ) { } void hookEvents ( ) { } int imContext ( ) { } public void deselect ( int index ) { } public void deselectAll ( ) { } GdkColor getBackgroundColor ( ) { } GdkColor getForegroundColor ( ) { } public String getItem ( int index ) { } public int getItemCount ( ) { } public int getItemHeight ( ) { } public String [ ] getItems ( ) { } public int getOrientation ( ) { } public Point getSelection ( ) { } public int getSelectionIndex ( ) { } public String getText ( ) { } String getText ( int start , int stop ) { } public int getTextHeight ( ) { } public int getTextLimit ( ) { } public int getVisibleItemCount ( ) { } 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_insert_text ( int widget , int new_text , int new_text_length , int position ) { } int gtk_popup_menu ( int widget ) { } public int indexOf ( String string ) { } public int indexOf ( String string , int start ) { } public void paste ( ) { } int parentingHandle ( ) { } void register ( ) { } void releaseHandle ( ) { } public void remove ( int index ) { } public void remove ( int start , int end ) { } public void remove ( String string ) { } public void removeAll ( ) { } public void removeModifyListener ( ModifyListener listener ) { } public void removeSelectionListener ( SelectionListener listener ) { } public void removeVerifyListener ( VerifyListener listener ) { } public void select ( int index ) { } void setBackgroundColor ( GdkColor color ) { } int setBounds ( int x , int y , int width , int height , boolean move , boolean resize ) { } void setFontDescription ( int font ) { } void setForegroundColor ( GdkColor color ) { } public void setItem ( int index , String string ) { } public void setItems ( String [ ] items ) { checkWidget ( ) ; if ( items == null ) error ( ERROR_NULL_ARGUMENT ) ; for ( int i = 0 ; i < ( items . length ) ; i ++ ) { if ( ( items [ i ] ) == null ) error ( ERROR_INVALID_ARGUMENT ) ; } lockText = ignoreSelect = true ; OS . gtk_list_clear_items ( listHandle , 0 , ( - 1 ) ) ; int font = getFontDescription ( ) ; GdkColor color = getForegroundColor ( ) ; int direction = OS . gtk_widget_get_direction ( handle ) ; int i = 0 ; while ( i < ( items . length ) ) { String string = items [ i ] ; byte [ ] buffer = Converter . wcsToMbcs ( null , string , true ) ; int item = OS . gtk_list_item_new_with_label ( buffer ) ; int label = OS . gtk_bin_get_child ( item ) ; OS . gtk_widget_modify_fg ( label , GTK_STATE_NORMAL , color ) ; OS . gtk_widget_modify_font ( label , font ) ; OS . gtk_widget_set_direction ( label , direction ) ; OS . gtk_container_add ( listHandle , item ) ; OS . gtk_widget_show ( item ) ; i ++ ; } this . items = new String [ items . length ] ; System . arraycopy ( items , 0 , this . items , 0 , i ) ; lockText = ignoreSelect = false ; <START_BUG> OS . gtk_entry_set_text ( entryHandle , new byte [ 0 ] ) ; <END_BUG> } void setOrientation ( ) { } public void setOrientation ( int orientation ) { } public void setSelection ( Point selection ) { } public void setText ( String string ) { } public void setTextLimit ( int limit ) { } public void setVisibleItemCount ( int count ) { } boolean translateTraversal ( GdkEventKey keyEvent ) { } String verifyText ( String string , int start , int end ) { } }

Fix:
OS . gtk_entry_set_text ( entryHandle , new byte [ 1 ] ) ;