Bug 48448 Exception changing perspectives
build i1210:1227, winxp, j9sc1104 I got the following stack trace printed to the console when I was switching perspectives. The log file was empty. java.lang.IllegalArgumentException: Argument not valid at java.lang.Throwable.<init>(Throwable.java) at java.lang.Throwable.<init>(Throwable.java) at org.eclipse.swt.SWT.error(SWT.java:2578) at org.eclipse.swt.SWT.error(SWT.java:2522) at org.eclipse.swt.widgets.Widget.error(Widget.java:388) at org.eclipse.swt.widgets.Composite.setTabList(Composite.java:478) at org.eclipse.jface.action.CoolBarManager.updateTabOrder(CoolBarManager .java:262) at org.eclipse.jface.action.CoolBarManager.update(CoolBarManager.java) at org.eclipse.ui.internal.ActionSetActionBars.setActive(ActionSetAction Bars.java) at org.eclipse.ui.SubActionBars.deactivate(SubActionBars.java:128) at org.eclipse.ui.SubActionBars.deactivate(SubActionBars.java:116) at org.eclipse.ui.internal.ActionPresentation.setActionSets(ActionPresen tation.java:109) at org.eclipse.ui.internal.WorkbenchWindow.updateActionSets(WorkbenchWin dow.java:1833) at org.eclipse.ui.internal.WorkbenchPage.setPerspective(WorkbenchPage.ja va:2620) at org.eclipse.ui.internal.WorkbenchPage.busySetPerspective(WorkbenchPag e.java:695) at org.eclipse.ui.internal.WorkbenchPage.access$8(WorkbenchPage.java:680 ) at org.eclipse.ui.internal.WorkbenchPage$12.run(WorkbenchPage.java:2725) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:84) at org.eclipse.ui.internal.WorkbenchPage.setPerspective(WorkbenchPage.ja va:2723) at org.eclipse.ui.internal.SetPagePerspectiveAction.run(SetPagePerspecti veAction.java:72) at org.eclipse.jface.action.Action.runWithEvent(Action.java:842) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection (ActionContributionItem.java:509) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContri butionItem.java:461) at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionC ontributionItem.java:433) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1547) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1523) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.jav a:242) 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(PlatformAct ivator.java:242) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja va:84) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:41) at java.lang.reflect.Method.invoke(Method.java:386) at org.eclipse.core.internal.boot.OSGiBootLoader.basicRun(OSGiBootLoader .java:239) at org.eclipse.core.internal.boot.OSGiBootLoader.run(OSGiBootLoader.java :665) at org.eclipse.core.internal.boot.OSGiBootLoader.run(OSGiBootLoader.java :652) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:41) at java.lang.reflect.Method.invoke(Method.java:386) at org.eclipse.core.launcher.Main.basicRun(Main.java:299) at org.eclipse.core.launcher.Main.run(Main.java:767) at org.eclipse.core.launcher.Main.main(Main.java:601)
bundles/org.eclipse.jface/src/org/eclipse/jface/action/CoolBarManager.java
/**
	 * Creates a new cool bar manager with the default style.
	 * Equivalent to <code>CoolBarManager(SWT.NONE)</code>.
	 */
	public CoolBarManager() {
		
	}
	
	/**
	 * Creates a cool bar manager with the given SWT style.
	 * Calling <code>createControl</code> will create the cool bar control.
	 *
	 * @param style the cool bar item style; see 
	 * {@link org.eclipse.swt.widgets.CoolBar CoolBar} for for valid style bits
	 */
	public CoolBarManager(int style) {
		itemStyle= style;
	}
	
	/**
	 * Creates a cool bar manager for an existing cool bar control.
	 * This manager becomes responsible for the control, and will
	 * dispose of it when the manager is disposed.
	 *
	 * @param coolBar the cool bar control
	 */
	public CoolBarManager(CoolBar coolBar) {
		this();
		Assert.isNotNull(coolBar);
		this.coolBar = coolBar;