There was a bug associated with the fix that sets ViewerRow
to null in ViewerCell
https://bugs.eclipse.org/bugs/show_bug.cgi?id=201280
To fix the issue that you have, you should not use ViewerCell
.
Try this code
col.setLabelProvider(new ColumnLabelProvider() {
@Override
public void update(final ViewerCell cell) {
cell.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_DARK_GREEN));
final int index = cell.getColumnIndex();
final TableItem item = (TableItem) cell.getItem();
Display.getCurrent().timerExec(1000, new Runnable() {
public void run() {
//make sure table is not disposed
item.setBackground(index, Display.getDefault().getSystemColor(SWT.COLOR_WHITE));
}
});
}
});