Bug 187189 [ViewMgmt] TreeViewer disposes of widget when the third item in the tree is deleted
Build ID: 3.3.0M7 Steps To Reproduce: 1.Run attached sample code 2.Use button to delete tree items from bottom until exception is thrown. 3. More information: M6 does not exhibit this behavior. Exception in thread "main" org.eclipse.swt.SWTException: Widget is disposed at org.eclipse.swt.SWT.error(SWT.java:3547) at org.eclipse.swt.SWT.error(SWT.java:3465) at org.eclipse.swt.SWT.error(SWT.java:3436) at org.eclipse.swt.widgets.Widget.error(Widget.java:432) at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:325) at org.eclipse.swt.widgets.TreeItem.getBounds(TreeItem.java:401) at org.eclipse.jface.viewers.TreeViewerRow.getBounds(TreeViewerRow.java:48) at org.eclipse.jface.viewers.ViewerCell.getBounds(ViewerCell.java:83) at org.eclipse.jface.viewers.FocusCellOwnerDrawHighlighter.focusCellChanged(FocusCellOwnerDrawHighlighter.java:147) at org.eclipse.jface.viewers.SWTFocusCellManager.setFocusCell(SWTFocusCellManager.java:151) at org.eclipse.jface.viewers.SWTFocusCellManager.handleSelection(SWTFocusCellManager.java:101) at org.eclipse.jface.viewers.SWTFocusCellManager.access$2(SWTFocusCellManager.java:92) at org.eclipse.jface.viewers.SWTFocusCellManager$1.handleEvent(SWTFocusCellManager.java:126)
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/SWTFocusCellManager.java
*/
	void init() {
		this.cellHighlighter.init();
		this.navigationStrategy.init();
	}
	private void handleMouseDown(Event event) {
		ViewerCell cell = viewer.getCell(new Point(event.x, event.y));
		if (cell != null) {
			if (!cell.equals(focusCell)) {
				setFocusCell(cell);
			}
		}
	}
	private void handleKeyDown(Event event) {
		ViewerCell tmp = null;
		if (navigationStrategy.isCollapseEvent(viewer, focusCell, event)) {
			navigationStrategy.collapse(viewer, focusCell, event);
		} else if (navigationStrategy.isExpandEvent(viewer, focusCell, event)) {
			navigationStrategy.expand(viewer, focusCell, event);
		} else if (navigationStrategy.isNavigationEvent(viewer, event)) {
			tmp = navigationStrategy.findSelectedCell(viewer, focusCell, event);
			if (tmp != null) {
				if (!tmp.equals(focusCell)) {
					setFocusCell(tmp);
				}
			}
		}
		if (navigationStrategy.shouldCancelEvent(viewer, event)) {
			event.doit = false;
		}