Bug 132217 [Markers] invalid thread access in Problems view
I noticed this stack in my log when I was playing with activities earlier: org.eclipse.swt.SWTException: Invalid thread access at org.eclipse.swt.SWT.error(SWT.java:3349) at org.eclipse.swt.SWT.error(SWT.java:3272) at org.eclipse.swt.SWT.error(SWT.java:3243) at org.eclipse.swt.widgets.Widget.error(Widget.java:432) at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:328) at org.eclipse.swt.widgets.Tree.getSelection(Tree.java:1821) at org.eclipse.jface.viewers.TreeViewer.getSelection(TreeViewer.java:451) at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:649) at org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:2130) at org.eclipse.jface.viewers.StructuredViewer.setSelectionToWidget(StructuredViewer.java:1556) at org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:2484) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1268) at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1322) at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1281) at org.eclipse.ui.views.markers.internal.ProblemView$1.activityManagerChanged(ProblemView.java:443) at org.eclipse.ui.internal.activities.AbstractActivityManager.fireActivityManagerChanged(AbstractActivityManager.java:47) at org.eclipse.ui.internal.activities.ProxyActivityManager$1.activityManagerChanged(ProxyActivityManager.java:49) at org.eclipse.ui.internal.activities.AbstractActivityManager.fireActivityManagerChanged(AbstractActivityManager.java:47) at org.eclipse.ui.internal.activities.MutableActivityManager.setEnabledActivityIds(MutableActivityManager.java:509) at org.eclipse.ui.internal.activities.ws.WorkbenchActivitySupport.setEnabledActivityIds(WorkbenchActivitySupport.java:313) at org.eclipse.ui.activities.WorkbenchActivityHelper.enableActivities(WorkbenchActivityHelper.java:152) at org.eclipse.ui.activities.WorkbenchActivityHelper.allow(WorkbenchActivityHelper.java:117) at org.eclipse.ui.activities.WorkbenchActivityHelper.allowUseOf(WorkbenchActivityHelper.java:89) at org.eclipse.ui.internal.ide.IDEWorkbenchActivityHelper.processProject(IDEWorkbenchActivityHelper.java:196) at org.eclipse.ui.internal.ide.IDEWorkbenchActivityHelper$3.resourceChanged(IDEWorkbenchActivityHelper.java:162) at org.eclipse.core.internal.events.NotificationManager$2.run(NotificationManager.java:280) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:274) at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:148) at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:256) at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:956) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1742) at org.eclipse.team.core.variants.PersistantResourceVariantByteStore.run(PersistantResourceVariantByteStore.java:171) at org.eclipse.team.internal.core.subscribers.DescendantResourceVariantByteStore.run(DescendantResourceVariantByteStore.java:181) at org.eclipse.team.core.variants.ResourceVariantTree.collectChanges(ResourceVariantTree.java:110) at org.eclipse.team.internal.ccvs.core.syncinfo.CVSResourceVariantTree.collectChanges(CVSResourceVariantTree.java:89) at org.eclipse.team.core.variants.AbstractResourceVariantTree.refresh(AbstractResourceVariantTree.java:92) at org.eclipse.team.internal.ccvs.core.syncinfo.CVSResourceVariantTree.refresh(CVSResourceVariantTree.java:327) at org.eclipse.team.core.variants.AbstractResourceVariantTree.refresh(AbstractResourceVariantTree.java:55) at org.eclipse.team.core.variants.ResourceVariantTreeSubscriber.refresh(ResourceVariantTreeSubscriber.java:160) at org.eclipse.team.core.variants.ResourceVariantTreeSubscriber.refresh(ResourceVariantTreeSubscriber.java:125) at org.eclipse.team.internal.ui.synchronize.RefreshSubscriberParticipantJob.doRefresh(RefreshSubscriberParticipantJob.java:87) at org.eclipse.team.internal.ui.synchronize.RefreshParticipantJob.run(RefreshParticipantJob.java:308) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemView.java
* 
	 * @see org.eclipse.ui.views.markers.internal.MarkerView#getMarkerTypes()
	 */
	protected String[] getMarkerTypes() {
		return new String[] { IMarker.PROBLEM };
	}
	protected String getStaticContextId() {
		
		return PlatformUI.PLUGIN_ID + ".problem_view_context";
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.ui.views.markers.internal.MarkerView#createFiltersDialog()
	 */
	protected DialogMarkerFilter createFiltersDialog() {
		MarkerFilter[] filters = getUserFilters();
		ProblemFilter[] problemFilters = new ProblemFilter[filters.length];
		System.arraycopy(filters, 0, problemFilters, 0, filters.length);
		return new DialogProblemFilter(getSite().getShell(), problemFilters);
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.ui.views.markers.internal.MarkerView#createFilter(java.lang.String)
	 */
	protected MarkerFilter createFilter(String name) {
		return new ProblemFilter(name);
	}
	/*