Create a table with SWT.FULL_SELECTION | SWT.MULTI | SWT.H_SCROLL, with no fixed columns. Scroll to the right so the first columns are off the edge of the display area. Then select and drag (or select and shift click) to select multiple rows. The rows will be redrawn incorrectly (they will be drawn as if the table hasn't been scrolled).
This is because the logic in the redraw() method fails if there are no fixed columns. I have attached a patch that contains the following change which fixes this in redraw(int, int, int, int):
if (firstCol<getFixedColumnCount()) {
firstCol=m_LeftColumn;
redrawFixedCols = true;
}
+ if (getFixedColumnCount() == 0)
+ {
+ firstCol = m_LeftColumn;
+ }
+ if (getFixedRowCount() == 0)
+ {
+ firstRow = m_TopRow;
+ }
+
Rectangle clipRect = getClientArea();
GC gc = new GC(this);
Patch to resolve issue with multiple selections when table is scrolled if there are no fixed columns.