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
return new Point(height, width);
				}
				return new Point(50, 50);
			}
			protected void layout(Composite composite, boolean flushCache) {
				layoutControlHolder();
			}
		});
	}
	/**
	 * Initialize the sliderHolder and slider. The SliderHolder is a Composite
	 * that is responsible for showing and hiding the vertical slider upon
	 * request.
	 */
	private void createSliderHolder() {
		GridData gd = getSliderGridData();
		sliderHolder = new Composite(this, SWT.NONE);
		slider = new Slider(sliderHolder, SWT.VERTICAL);
		slider.addSelectionListener(sliderSelectionListener);
		sliderHolder.setLayout(new FillLayout());
		sliderHolder.setLayoutData(gd);
		sliderHolder.setTabList(new Control[] {});
	}
	
	
	/**
	 * Returns a GridData for the SliderHolder appropriate for if the slider is
	 * visible or not.
	 * 
	 * @return A GridData with a widthHint of 0 if the slider is not visible or