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
itemStyle = coolBar.getStyle();
	}
	
	/* (non-Javadoc)
	 * @see org.eclipse.jface.action.ICoolBarManager#add(org.eclipse.jface.action.IToolBarManager)
	 */
	public void add(IToolBarManager toolBarManager) {
		Assert.isNotNull(toolBarManager);
		super.add(new ToolBarContributionItem(toolBarManager));
	}
	
	/**
	 * Creates and returns this manager's cool bar control. 
	 * Does not create a new control if one already exists.
	 *
	 * @param parent the parent control
	 * @return the cool bar control
	 */
	public CoolBar createControl(Composite parent) {
		Assert.isNotNull(parent);
		if (!coolBarExist()) {
			coolBar = new CoolBar(parent, itemStyle);
			coolBar.setMenu(getContextMenuControl());
			coolBar.setLocked(false);
			coolBar.addListener(SWT.Resize, new Listener() {
				public void handleEvent(Event event) {
					coolBar.getParent().layout();
				}
			});
			update(false);