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
*            structure.
	 */
	public void setNumRowsInCollection(int numRowsInCollection) {
		this.topRow = 0;
		if (currentRow > 0) {
			currentRow = 0;
		}
		this.numRowsInCollection = numRowsInCollection;
		updateVisibleRows();
		refreshAllRows();
	}
	/**
	 * Method setTopRow. Set the number of the line that is being displayed in
	 * the top row of the CompositeTable editor (0-based). If the new top row is
	 * not equal to the current top row, the table will automatically be
	 * scrolled to the new position. This number must be greater than 0 and less
	 * than NumRowsInCollection.
	 * 
	 * @param topRow
	 *            the line number of the new top row.
	 */
	public void setTopRow(int topRow) {
		fireRowDepartEvent();
		this.topRow = topRow;
		updateVisibleRows();
		fireRowArriveEvent();
	}
	/**
	 * Method getTopRow. Return the number of the line that is being displayed
	 * in the top row of the CompositeTable editor (0-based).