Buggy code:
public class Combo extends Composite { int arrowHandle ; int entryHandle ; int listHandle ; int lastEventTime ; int visibleCount = 5 ; int gdkEventKey = 0 ; int fixStart = - 1 ; int fixEnd = - 1 ; 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 ) { } void fixIM ( ) { } int fontHandle ( ) { } int focusHandle ( ) { } boolean hasFocus ( ) { } void hookEvents ( ) { } int imContext ( ) { } public void deselect ( int index ) { } public void deselectAll ( ) { } int eventWindow ( ) { } 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_focus_out_event ( int widget , int event ) { } int gtk_insert_text ( int widget , int new_text , int new_text_length , int position ) { } int gtk_key_press_event ( int widget , int event ) { } int gtk_popup_menu ( int widget ) { } public int indexOf ( String string ) { } public int indexOf ( String string , int start ) { } int paintWindow ( ) { <START_BUG> OS . gtk_widget_realize ( handle ) ; <END_BUG> int window = OS . GTK_WIDGET_WINDOW ( entryHandle ) ; int children = OS . gdk_window_get_children ( window ) ; if ( children != 0 ) window = OS . g_list_data ( children ) ; OS . g_list_free ( children ) ; return window ; } public void paste ( ) { } int parentingHandle ( ) { } void register ( ) { } void releaseHandle ( ) { } void releaseWidget ( ) { } 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 ) { } void setOrientation ( ) { } public void setOrientation ( int orientation ) { } public void setSelection ( Point selection ) { } public void setText ( String string ) { } public void setTextLimit ( int limit ) { } void setToolTipText ( Shell shell , String newString , String oldString ) { } public void setVisibleItemCount ( int count ) { } boolean translateTraversal ( GdkEventKey keyEvent ) { } String verifyText ( String string , int start , int end ) { } }

Fix:
OS . gtk_widget_realize ( entryHandle ) ;