Bug 82605 Invalid thread access updating build actions
Build: I20050110 org.eclipse.swt.SWTException: Invalid thread access at org.eclipse.swt.SWT.error(SWT.java:2827) at org.eclipse.swt.SWT.error(SWT.java:2752) at org.eclipse.swt.SWT.error(SWT.java:2723) at org.eclipse.swt.widgets.Widget.error(Widget.java:388) at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:291) at org.eclipse.swt.widgets.ToolBar.getItemCount(ToolBar.java:431) at org.eclipse.jface.action.ToolBarManager.update(ToolBarManager.java:210) at org.eclipse.ui.internal.ide.WorkbenchActionBuilder.updateBuildActions(WorkbenchActionBuilder.java:1597) at org.eclipse.ui.internal.ide.WorkbenchActionBuilder$7.resourceChanged(WorkbenchActionBuilder.java:349) at org.eclipse.core.internal.events.NotificationManager$2.run(NotificationManager.java:283) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1007) at org.eclipse.core.runtime.Platform.run(Platform.java:747) at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:277) at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:151) at org.eclipse.core.internal.resources.Workspace.broadcastChanges(Workspace.java:175) at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:917) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1712) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:3549) at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:65) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:111)
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/WorkbenchActionBuilder.java
registerGlobalAction(upAction);
        nextAction = ActionFactory.NEXT.create(getWindow());
        nextAction
                .setImageDescriptor(IDEInternalWorkbenchImages
                        .getImageDescriptor(IDEInternalWorkbenchImages.IMG_ETOOL_NEXT_NAV));
        registerGlobalAction(nextAction);
        previousAction = ActionFactory.PREVIOUS.create(getWindow());
        previousAction
                .setImageDescriptor(IDEInternalWorkbenchImages
                        .getImageDescriptor(IDEInternalWorkbenchImages.IMG_ETOOL_PREVIOUS_NAV));
        registerGlobalAction(previousAction);
        buildProjectAction = IDEActionFactory.BUILD_PROJECT.create(getWindow());
        registerGlobalAction(buildProjectAction);
        openProjectAction = IDEActionFactory.OPEN_PROJECT.create(getWindow());
        registerGlobalAction(openProjectAction);
        closeProjectAction = IDEActionFactory.CLOSE_PROJECT.create(getWindow());
        registerGlobalAction(closeProjectAction);
        openWorkspaceAction = IDEActionFactory.OPEN_WORKSPACE
                .create(getWindow());
        registerGlobalAction(openWorkspaceAction);
        projectPropertyDialogAction = IDEActionFactory.OPEN_PROJECT_PROPERTIES
                .create(getWindow());
        registerGlobalAction(projectPropertyDialogAction);
        if (getWindow().getWorkbench().getIntroManager().hasIntro()) {
            introAction = ActionFactory.INTRO.create(window);
            registerGlobalAction(introAction);
        }
        final String showInQuickMenuId = "org.eclipse.ui.navigate.showInQuickMenu"; 
        showInQuickMenu = new QuickMenuAction(showInQuickMenuId) {
            protected void fillMenu(IMenuManager menu) {