Bug 53215 NPE showing package explorer
Build 20040226 I launched my workbench which came up with the Package Explorer stacked underneath other views. I then clicked on the new pulldown to bring the Package Explorer. The following exception occurred: org.eclipse.jface.util.Assert$AssertionFailedException: null argument; at org.eclipse.jface.util.Assert.isNotNull(Assert.java:139) at org.eclipse.jface.util.Assert.isNotNull(Assert.java:116) at org.eclipse.jface.util.ListenerList.add(ListenerList.java:88) at org.eclipse.jface.viewers.Viewer.addSelectionChangedListener(Viewer.java:129) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart.showInput(PackageExplorerPart. java:960) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart. editorActivated(PackageExplorerPart.java:916) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$1. partActivated(PackageExplorerPart.java:148) at org.eclipse.ui.internal.PartListenerList$1.run(PartListenerList.java:49) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:788) at org.eclipse.core.runtime.Platform.run(Platform.java:497) at org.eclipse.ui.internal.PartListenerList.firePartActivated(PartListenerList.java:47) at org.eclipse.ui.internal.WorkbenchPage.firePartActivated(WorkbenchPage.java:1287) at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:2586) at org.eclipse.ui.internal.WorkbenchPage.requestActivation(WorkbenchPage.java:2281) at org.eclipse.ui.internal.PartPane.requestActivation(PartPane.java:362) at org.eclipse.ui.internal.EditorPane.requestActivation(EditorPane.java:153) at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:342) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:956) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:980) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:961) at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:859) at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java:2142) at org.eclipse.swt.widgets.Control.gtk_event_after(Control.java:1677) at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1212) at org.eclipse.swt.widgets.Display.windowProc(Display.java:2362) at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(Native Method) at org.eclipse.swt.widgets.Display.eventProc(Display.java:728) at org.eclipse.swt.internal.gtk.OS.gtk_clipboard_wait_for_contents(Native Method) at org.eclipse.swt.dnd.Clipboard._getAvailableTypes(Clipboard.java:364) at org.eclipse.swt.dnd.Clipboard.getAvailableTypes(Clipboard.java:300) at org.eclipse.jdt.internal.ui.refactoring.reorg.PasteAction.canOperateOn(PasteAction.java:127) at org.eclipse.jdt.internal.ui.refactoring.reorg.PasteAction.selectionChanged(PasteAction.java: 116) at org.eclipse.jdt.ui.actions.SelectionDispatchAction. dispatchSelectionChanged(SelectionDispatchAction.java:200) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.update(SelectionDispatchAction.java:114) at org.eclipse.jdt.internal.ui.refactoring.reorg.PasteAction.<init>(PasteAction.java:107) at org.eclipse.jdt.ui.actions.CCPActionGroup.<init>(CCPActionGroup.java:80) at org.eclipse.jdt.ui.actions.CCPActionGroup.<init>(CCPActionGroup.java:63) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup. <init>(PackageExplorerActionGroup.java:123) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart. makeActions(PackageExplorerPart.java:576) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart. createPartControl(PackageExplorerPart.java:280) at org.eclipse.ui.internal.PartPane$1.run(PartPane.java:118) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:788) at org.eclipse.core.runtime.Platform.run(Platform.java:497) at org.eclipse.ui.internal.PartPane.createChildControl(PartPane.java:114) at org.eclipse.ui.internal.ViewPane.createChildControl(ViewPane.java:322) at org.eclipse.ui.internal.ViewFactory$1.run(ViewFactory.java:245) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:788) at org.eclipse.core.runtime.Platform.run(Platform.java:497) at org.eclipse.ui.internal.ViewFactory.busyRestoreView(ViewFactory.java:174) at org.eclipse.ui.internal.ViewFactory$2.run(ViewFactory.java:419) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:84) at org.eclipse.ui.internal.ViewFactory.restoreView(ViewFactory.java:417) at org.eclipse.ui.internal.ViewFactory$ViewReference.getPart(ViewFactory.java:93) at org.eclipse.ui.internal.WorkbenchPage$1.propertyChange(WorkbenchPage.java:129) at org.eclipse.ui.internal.LayoutPart.setVisible(LayoutPart.java:234) at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:376) at org.eclipse.ui.internal.PartTabFolder.setSelection(PartTabFolder.java:1221) at org.eclipse.ui.internal.PartTabFolder.access$8(PartTabFolder.java:1207) at org.eclipse.ui.internal.PartTabFolder$4.handleEvent(PartTabFolder.java:380) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:956) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:980) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:965) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:835) at org.eclipse.swt.custom.CTabFolder2.setSelection(CTabFolder2.java:2876) at org.eclipse.swt.custom.CTabFolder2$6.widgetSelected(CTabFolder2.java:3228) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:89) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:956) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1876) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1651) at org.eclipse.swt.custom.CTabFolder2.showList(CTabFolder2.java:3237) at org.eclipse.swt.custom.CTabFolder2.onMouse(CTabFolder2.java:1903) at org.eclipse.swt.custom.CTabFolder2$1.handleEvent(CTabFolder2.java:283) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:956) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1876) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1651) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1566) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1542) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:263) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:139) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:47) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:256) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:100) 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:279) at org.eclipse.core.launcher.Main.run(Main.java:742) at org.eclipse.core.launcher.Main.main(Main.java:581)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/packageview/PackageExplorerPart.java
public void selectAndReveal(Object element) {
		selectReveal(new StructuredSelection(element));
	}
	
	boolean isLinkingEnabled() {
		return fLinkingEnabled;
	}
	
	/**
	 * Initializes the linking enabled setting from the preference store.
	 */
	private void initLinkingEnabled() {
		fLinkingEnabled= PreferenceConstants.getPreferenceStore().getBoolean(PreferenceConstants.LINK_PACKAGES_TO_EDITOR);
	}
	/**
	 * Links to editor (if option enabled)
	 */
	private void linkToEditor(IStructuredSelection selection) {
		
		
		if (!isActivePart())
			return;
		Object obj= selection.getFirstElement();
		if (selection.size() == 1) {
			IEditorPart part= EditorUtility.isOpenInEditor(obj);
			if (part != null) {
				IWorkbenchPage page= getSite().getPage();
				page.bringToTop(part);
				if (obj instanceof IJavaElement)