Program: 128997
Project: 128997
Buggy source:
/** 
 * DOC amaumont Comment method "initCellModifier".
 */
protected void setTablePreferences(){
  table.setHeaderVisible(headerVisible);
  table.setLinesVisible(linesVisible);
  if (this.emptyZoneColor != null && !WindowSystem.isGTK() && !WindowSystem.isOSX()) {
    Listener paintListener=new Listener(){
      public void handleEvent(      Event event){
        GC gc=event.gc;
        Rectangle area=table.getClientArea();
        Color previousBgColor=gc.getBackground();
        gc.setBackground(emptyZoneColor);
        int starty=table.getHeaderHeight() + table.getItemCount() * table.getItemHeight() - table.getVerticalBar().getSelection() * table.getItemHeight();
        if (starty < area.height) {
          gc.fillRectangle(0,starty,area.width,area.height);
        }
        TableColumn[] tableColumns=table.getColumns();
        int widthColumns=0;
        for (int i=0; i < tableColumns.length; i++) {
          widthColumns+=tableColumns[i].getWidth();
        }
        if (widthColumns < area.width) {
          gc.fillRectangle(widthColumns + 1,0,area.width,area.height);
        }
        gc.setBackground(previousBgColor);
      }
    }
;
    table.addListener(SWTFacade.Paint,paintListener);
  }
  setBackgroundColor(backgroundColor != null ? backgroundColor : table.getDisplay().getSystemColor(SWT.COLOR_WHITE));
  setForegroundColor(foregroundColor != null ? foregroundColor : table.getDisplay().getSystemColor(SWT.COLOR_BLACK));
  if (useCustomItemColoring) {
    setUseCustomItemColoring(true);
  }
  if (this.firstVisibleColumnIsSelection) {
    this.mouseTableSelectionHelper=new MouseTableSelectionHelper(this);
  }
}

Fixed version (ground truth):
/** 
 * DOC amaumont Comment method "initCellModifier".
 */
protected void setTablePreferences(){
  table.setHeaderVisible(headerVisible);
  table.setLinesVisible(linesVisible);
  if (this.emptyZoneColor != null && !WindowSystem.isGTK() && !WindowSystem.isOSX()) {
    Listener paintListener=new Listener(){
      @Override public void handleEvent(      Event event){
        GC gc=event.gc;
        Rectangle area=table.getClientArea();
        Color previousBgColor=gc.getBackground();
        gc.setBackground(emptyZoneColor);
        int starty=table.getHeaderHeight() + table.getItemCount() * table.getItemHeight() - table.getVerticalBar().getSelection() * table.getItemHeight();
        if (starty < area.height) {
          gc.fillRectangle(0,starty,area.width,area.height);
        }
        TableColumn[] tableColumns=table.getColumns();
        int widthColumns=0;
        for (        TableColumn tableColumn : tableColumns) {
          widthColumns+=tableColumn.getWidth();
        }
        if (widthColumns < area.width) {
          gc.fillRectangle(widthColumns + 1,0,area.width,area.height);
        }
        gc.setBackground(previousBgColor);
      }
    }
;
    table.addListener(SWTFacade.Paint,paintListener);
  }
  setBackgroundColor(backgroundColor != null ? backgroundColor : table.getDisplay().getSystemColor(SWT.COLOR_WHITE));
  setForegroundColor(foregroundColor != null ? foregroundColor : table.getDisplay().getSystemColor(SWT.COLOR_BLACK));
  if (useCustomItemColoring) {
    setUseCustomItemColoring(true);
  }
  if (this.firstVisibleColumnIsSelection) {
    this.mouseTableSelectionHelper=new MouseTableSelectionHelper(this);
  }
}