Bug 146750 [DataBinding][CompositeTable] Crash when dragging scroll bar
Run CompositeTableTest Drag scroll bar down Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: -1, Size: 6 at java.util.LinkedList.entry(LinkedList.java:360) at java.util.LinkedList.get(LinkedList.java:303) at org.eclipse.jface.examples.databinding.compositetable.InternalCompositeTable.currentRow(InternalCompositeTable.java:1671) at org.eclipse.jface.examples.databinding.compositetable.InternalCompositeTable.fireRowDepartEvent(InternalCompositeTable.java:1511) at org.eclipse.jface.examples.databinding.compositetable.InternalCompositeTable.setTopRow(InternalCompositeTable.java:732) at org.eclipse.jface.examples.databinding.compositetable.InternalCompositeTable$2.widgetSelected(InternalCompositeTable.java:1239) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1074) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3158) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2838) at org.eclipse.jface.examples.databinding.compositetable.test.CompositeTableTest.main(CompositeTableTest.java:167)
examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/InternalCompositeTable.java
int newTopRow = topRow + numRowsVisible;
				if (newTopRow >= numRowsInCollection - 1) {
					newTopRow = numRowsInCollection - 1;
				}
				setTopRow(newTopRow);
				internalSetSelection(currentColumn, currentRow, true);
			}
			return;
		}
	}
	
	/**
	 * Handle the keyTraversed event on any child control in the table.
	 * 
	 * @param sender
	 *            The row sending the event.
	 * @param e
	 *            The SWT TraverseEvent
	 */
	public void keyTraversed(TableRow sender, TraverseEvent e) {
		if (makeFocusedRowVisible()) return;
		if (parent.isTraverseOnTabsEnabled()) {
			if (e.detail == SWT.TRAVERSE_TAB_NEXT) {
				if (currentColumn >= sender.getNumColumns() - 1) {
					e.detail = SWT.TRAVERSE_NONE;
					handleNextRowNavigation();
				}
			} else if (e.detail == SWT.TRAVERSE_TAB_PREVIOUS) {
				if (currentColumn == 0) {
					e.detail = SWT.TRAVERSE_NONE;