Bug 38311 NPE in type hierarchy on shutdown
No reproducable steps, but I think I was experimenting with the view layout options in the view drop down. java.lang.NullPointerException at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.dispose (TypeHierarchyViewPart.java:526) at org.eclipse.ui.internal.WorkbenchPartReference.dispose (WorkbenchPartReference.java:154) at org.eclipse.ui.internal.ViewFactory$ViewReference.dispose (ViewFactory.java:348) at org.eclipse.ui.internal.WorkbenchPage$6.run(WorkbenchPage.java:1055) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:889) at org.eclipse.core.runtime.Platform.run(Platform.java:413) at org.eclipse.ui.internal.WorkbenchPage.dispose (WorkbenchPage.java:1053) at org.eclipse.ui.internal.WorkbenchWindow.closeAllPages (WorkbenchWindow.java:513) at org.eclipse.ui.internal.WorkbenchWindow.hardClose (WorkbenchWindow.java:1127) at org.eclipse.ui.internal.WorkbenchWindow.busyClose (WorkbenchWindow.java:384) at org.eclipse.ui.internal.WorkbenchWindow.access$0 (WorkbenchWindow.java:367) at org.eclipse.ui.internal.WorkbenchWindow$2.run (WorkbenchWindow.java:479) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.internal.WorkbenchWindow.close (WorkbenchWindow.java:477) at org.eclipse.jface.window.WindowManager.close(WindowManager.java:108) at org.eclipse.ui.internal.Workbench$6.run(Workbench.java:331) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:889) at org.eclipse.core.runtime.Platform.run(Platform.java:413) at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:328) at org.eclipse.ui.internal.Workbench.access$8(Workbench.java:284) at org.eclipse.ui.internal.Workbench$8.run(Workbench.java:447) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.internal.Workbench.close(Workbench.java:445) at org.eclipse.ui.internal.Workbench.close(Workbench.java:437) at org.eclipse.ui.internal.Workbench.close(Workbench.java:431) at org.eclipse.ui.internal.WorkbenchWindow.busyClose (WorkbenchWindow.java:381) at org.eclipse.ui.internal.WorkbenchWindow.access$0 (WorkbenchWindow.java:367) at org.eclipse.ui.internal.WorkbenchWindow$2.run (WorkbenchWindow.java:479) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.internal.WorkbenchWindow.close (WorkbenchWindow.java:477) at org.eclipse.jface.window.Window.handleShellCloseEvent (Window.java:504) at org.eclipse.jface.window.Window$2.shellClosed(Window.java:455) at org.eclipse.swt.widgets.TypedListener.handleEvent (TypedListener.java:154) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:81) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:848) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:872) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:857) at org.eclipse.swt.widgets.Decorations.WM_CLOSE(Decorations.java:1353) at org.eclipse.swt.widgets.Shell.WM_CLOSE(Shell.java:1220) at org.eclipse.swt.widgets.Control.windowProc(Control.java:2813) at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1297) at org.eclipse.swt.widgets.Display.windowProc(Display.java:2558) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1321) at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:397) at org.eclipse.swt.widgets.Control.windowProc(Control.java:2890) at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1297) at org.eclipse.swt.widgets.Display.windowProc(Display.java:2558) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1321) at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:397) at org.eclipse.swt.widgets.Control.windowProc(Control.java:2890) at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1297) at org.eclipse.swt.widgets.Display.windowProc(Display.java:2558) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1326) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1739) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1339) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1322) at org.eclipse.core.internal.boot.InternalBootLoader.run (InternalBootLoader.java:845) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.eclipse.core.launcher.Main.basicRun(Main.java:291) at org.eclipse.core.launcher.Main.run(Main.java:747) at org.eclipse.core.launcher.Main.main(Main.java:583)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/typehierarchy/TypeHierarchyViewPart.java
public void setHistoryEntries(IJavaElement[] elems) {
		fInputHistory.clear();
		for (int i= 0; i < elems.length; i++) {
			fInputHistory.add(elems[i]);
		}
		updateHistoryEntries();
	}
	
	/**
	 * Selects an member in the methods list or in the current hierarchy.
	 */	
	public void selectMember(IMember member) {
		if (member.getElementType() != IJavaElement.TYPE) {
			
			if (fHierarchyLifeCycle.isReconciled()) {
				member= JavaModelUtil.toWorkingCopy(member);
			}
			Control methodControl= fMethodsViewer.getControl();
			if (methodControl != null && !methodControl.isDisposed()) {
				methodControl.setFocus();
			}
			fMethodsViewer.setSelection(new StructuredSelection(member), true);
		} else {
			Control viewerControl= getCurrentViewer().getControl();
			if (viewerControl != null && !viewerControl.isDisposed()) {
				viewerControl.setFocus();
			}
			
			member= JavaModelUtil.toOriginal(member);