Buggy code:
public class TreeItem extends Item { Tree parent ; Font font ; Font [ ] cellFont ; boolean cached ; boolean grayed ; static final int EXPANDER_EXTRA_PADDING = 4 ; public TreeItem ( Tree parent , int style ) { } public TreeItem ( Tree parent , int style , int index ) { } public TreeItem ( TreeItem parentItem , int style ) { } public TreeItem ( TreeItem parentItem , int style , int index ) { } TreeItem ( Tree parent , int parentIter , int style , int index , boolean create ) { } static TreeItem checkNull ( TreeItem item ) { } static Tree checkNull ( Tree control ) { } static int checkIndex ( int index ) { } protected void checkSubclass ( ) { } void clear ( ) { if ( ( parent . currentItem ) == ( this ) ) return ; if ( ( cached ) || ( ( ( parent . style ) & ( SWT . VIRTUAL ) ) == 0 ) ) { int columnCount = OS . gtk_tree_model_get_n_columns ( parent . modelHandle ) ; for ( int i = 0 ; i < columnCount ; i ++ ) { OS . gtk_tree_store_set ( parent . modelHandle , handle , i , 0 , ( - 1 ) ) ; } <START_BUG> OS . gtk_tree_store_set ( parent . modelHandle , handle , parent . ID_COLUMN , ( - 1 ) , ( - 1 ) ) ; <END_BUG> if ( ( ( parent . style ) & ( SWT . VIRTUAL ) ) != 0 ) { if ( ( ( OS . GTK_VERSION ) >= ( OS . VERSION ( 2 , 3 , 2 ) ) ) && ( ( OS . GTK_VERSION ) < ( OS . VERSION ( 2 , 6 , 3 ) ) ) ) { if ( ( ( OS . GTK_WIDGET_FLAGS ( parent . handle ) ) & ( OS . GTK_REALIZED ) ) != 0 ) { int parentHandle = parent . handle ; int path = OS . gtk_tree_model_get_path ( parent . modelHandle , handle ) ; GdkRectangle rect = new GdkRectangle ( ) ; OS . gtk_tree_view_get_cell_area ( parentHandle , path , 0 , rect ) ; OS . gtk_tree_path_free ( path ) ; int window = OS . gtk_tree_view_get_bin_window ( parentHandle ) ; rect . x = 0 ; rect . width = OS . GTK_WIDGET_WIDTH ( parentHandle ) ; OS . gdk_window_invalidate_rect ( window , rect , false ) ; } } } } cached = false ; font = null ; cellFont = null ; } void clear ( int index , boolean all ) { } void clearAll ( boolean all ) { } void destroyWidget ( ) { } public Color getBackground ( ) { } public Color getBackground ( int index ) { } public Rectangle getBounds ( int index ) { } public Rectangle getBounds ( ) { } public boolean getChecked ( ) { } public boolean getExpanded ( ) { } public Font getFont ( ) { } public Font getFont ( int index ) { } public Color getForeground ( ) { } public Color getForeground ( int index ) { } public boolean getGrayed ( ) { } public Image getImage ( ) { } public Image getImage ( int index ) { } public Rectangle getImageBounds ( int index ) { } public int getItemCount ( ) { } public TreeItem getItem ( int index ) { } public TreeItem [ ] getItems ( ) { } String getNameText ( ) { } public Tree getParent ( ) { } public TreeItem getParentItem ( ) { } public String getText ( ) { } public String getText ( int index ) { } public int indexOf ( TreeItem item ) { } void releaseChildren ( boolean destroy ) { } void releaseHandle ( ) { } void releaseWidget ( ) { } public void removeAll ( ) { } public void setBackground ( Color color ) { } public void setBackground ( int index , Color color ) { } public void setChecked ( boolean checked ) { } public void setExpanded ( boolean expanded ) { } public void setFont ( Font font ) { } public void setFont ( int index , Font font ) { } public void setForeground ( Color color ) { } public void setForeground ( int index , Color color ) { } public void setGrayed ( boolean grayed ) { } public void setImage ( int index , Image image ) { } public void setImage ( Image image ) { } public void setImage ( Image [ ] images ) { } void setItemCount ( int count ) { } public void setText ( int index , String string ) { } public void setText ( String string ) { } public void setText ( String [ ] strings ) { } }

Fix:
OS . gtk_tree_store_set ( parent . modelHandle , handle , ID_COLUMN , ( - 1 ) , ( - 1 ) ) ;