Buggy code:
int cellDataProc ( int tree_column , int cell , int tree_model , int iter , int data ) { } boolean checkData ( TreeItem item ) { } protected void checkSubclass ( ) { } public void addSelectionListener ( SelectionListener listener ) { } public void addTreeListener ( TreeListener listener ) { } int calculateWidth ( int column , int iter ) { } public void clear ( int index , boolean all ) { } void clear ( int parentIter , int index , boolean all ) { } public void clearAll ( boolean all ) { } void clearAll ( boolean all , int parentIter ) { } public Point computeSize ( int wHint , int hHint , boolean changed ) { } void copyModel ( int oldModel , int oldStart , int newModel , int newStart , int [ ] types , int oldParent , int newParent , int modelLength ) { } void createColumn ( TreeColumn column , int index ) { } void createHandle ( int index ) { } void createItem ( TreeColumn column , int index ) { } void createItem ( TreeItem item , int parentIter , int index ) { } void createRenderers ( int columnHandle , int modelIndex , boolean check , int columnStyle ) { OS . gtk_tree_view_column_clear ( columnHandle ) ; if ( ( ( ( style ) & ( SWT . CHECK ) ) != 0 ) && check ) { OS . gtk_tree_view_column_pack_start ( columnHandle , checkRenderer , false ) ; OS . gtk_tree_view_column_add_attribute ( columnHandle , checkRenderer , active , Tree . CHECKED_COLUMN ) ; if ( ( OS . GTK_VERSION ) >= ( OS . VERSION ( 2 , 2 , 0 ) ) ) { OS . gtk_tree_view_column_add_attribute ( columnHandle , checkRenderer , inconsistent , Tree . GRAYED_COLUMN ) ; } if ( ( OS . GTK_VERSION ) > ( OS . VERSION ( 2 , 2 , 1 ) ) ) { OS . gtk_tree_view_column_add_attribute ( columnHandle , checkRenderer , cell_background_gdk , Tree . BACKGROUND_COLUMN ) ; } if ( ownerDraw ) { OS . gtk_tree_view_column_set_cell_data_func ( columnHandle , checkRenderer , cellDataProc , handle , 0 ) ; OS . g_object_set_qdata ( checkRenderer , SWT_OBJECT_INDEX1 , columnHandle ) ; } } int pixbufRenderer = ( ownerDraw ) ? OS . g_object_new ( display . gtk_cell_renderer_pixbuf_get_type ( ) , 0 ) : OS . gtk_cell_renderer_pixbuf_new ( ) ; if ( pixbufRenderer == 0 ) error ( ERROR_NO_HANDLES ) ; int textRenderer = ( ownerDraw ) ? OS . g_object_new ( display . gtk_cell_renderer_text_get_type ( ) , 0 ) : OS . gtk_cell_renderer_text_new ( ) ; if ( textRenderer == 0 ) error ( ERROR_NO_HANDLES ) ; if ( ownerDraw ) { OS . g_object_set_qdata ( pixbufRenderer , SWT_OBJECT_INDEX1 , columnHandle ) ; OS . g_object_set_qdata ( textRenderer , SWT_OBJECT_INDEX1 , columnHandle ) ; } if ( ( ( ( style ) & ( SWT . CHECK ) ) != 0 ) && check ) { OS . g_object_set ( pixbufRenderer , mode , GTK_CELL_RENDERER_MODE_ACTIVATABLE , 0 ) ; } if ( ( columnStyle & ( SWT . RIGHT ) ) != 0 ) { OS . g_object_set ( pixbufRenderer , xalign , 1.0F , 0 ) ; OS . gtk_tree_view_column_pack_end ( columnHandle , textRenderer , false ) ; OS . gtk_tree_view_column_pack_end ( columnHandle , pixbufRenderer , true ) ; OS . gtk_tree_view_column_set_alignment ( columnHandle , 1.0F ) ; } else if ( ( columnStyle & ( SWT . CENTER ) ) != 0 ) { OS . g_object_set ( pixbufRenderer , xalign , 1.0F , 0 ) ; OS . gtk_tree_view_column_pack_start ( columnHandle , pixbufRenderer , true ) ; OS . gtk_tree_view_column_pack_end ( columnHandle , textRenderer , true ) ; OS . gtk_tree_view_column_set_alignment ( columnHandle , 0.5F ) ; } else { OS . gtk_tree_view_column_pack_start ( columnHandle , pixbufRenderer , false ) ; OS . gtk_tree_view_column_pack_start ( columnHandle , textRenderer , true ) ; OS . gtk_tree_view_column_set_alignment ( columnHandle , 0.0F ) ; } OS . gtk_tree_view_column_add_attribute ( columnHandle , pixbufRenderer , pixbuf , ( modelIndex + ( Tree . CELL_PIXBUF ) ) ) ; if ( ( OS . GTK_VERSION ) > ( OS . VERSION ( 2 , 2 , 1 ) ) ) { OS . gtk_tree_view_column_add_attribute ( columnHandle , pixbufRenderer , cell_background_gdk , Tree . BACKGROUND_COLUMN ) ; <START_BUG> OS . gtk_tree_view_column_add_attribute ( columnHandle , textRenderer , background_gdk , Tree . BACKGROUND_COLUMN ) ; <END_BUG> } OS . gtk_tree_view_column_add_attribute ( columnHandle , textRenderer , text , ( modelIndex + ( Tree . CELL_TEXT ) ) ) ; OS . gtk_tree_view_column_add_attribute ( columnHandle , textRenderer , foreground_gdk , Tree . FOREGROUND_COLUMN ) ; OS . gtk_tree_view_column_add_attribute ( columnHandle , textRenderer , font_desc , Tree . FONT_COLUMN ) ; boolean customDraw = firstCustomDraw ; if ( ( columnCount ) != 0 ) { for ( int i = 0 ; i < ( columnCount ) ; i ++ ) { if ( ( columns [ i ] . handle ) == columnHandle ) { customDraw = columns [ i ] . customDraw ; break ; } } } if ( ( ( ( ( style ) & ( SWT . VIRTUAL ) ) != 0 ) || customDraw ) || ( ownerDraw ) ) { OS . gtk_tree_view_column_set_cell_data_func ( columnHandle , textRenderer , cellDataProc , handle , 0 ) ; OS . gtk_tree_view_column_set_cell_data_func ( columnHandle , pixbufRenderer , cellDataProc , handle , 0 ) ; } } void createWidget ( int index ) { } GdkColor defaultBackground ( ) { } GdkColor defaultForeground ( ) { } void deregister ( ) { } public void deselectAll ( ) { } void destroyItem ( TreeColumn column ) { } void destroyItem ( TreeItem item ) { } int eventWindow ( ) { } void fixChildren ( Shell newShell , Shell oldShell , Decorations newDecorations , Decorations oldDecorations , Menu [ ] menus ) { } GdkColor getBackgroundColor ( ) { }

Fix:
OS . gtk_tree_view_column_add_attribute ( columnHandle , textRenderer , cell_background_gdk , Tree . BACKGROUND_COLUMN ) ;