[233323] Unable to create new modules for an EAR due to activities enablement
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPActivityBridgeHelperImpl.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPActivityBridgeHelperImpl.java
index a8440eb..414c97f 100644
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPActivityBridgeHelperImpl.java
+++ b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPActivityBridgeHelperImpl.java
@@ -17,6 +17,7 @@
import java.util.HashSet;
import java.util.Set;
+import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IPluginContribution;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.activities.IActivityManager;
@@ -54,7 +55,7 @@
newEnabledActivities.remove(activityID);
}
if (null != newEnabledActivities) {
- workbenchActivitySupport.setEnabledActivityIds(newEnabledActivities);
+ setEnabledActivityIds(newEnabledActivities);
}
}
@@ -63,7 +64,17 @@
}
public void setEnabledActivityIds(Set activityIDs) {
- workbenchActivitySupport.setEnabledActivityIds(activityIDs);
+ Display display = PlatformUI.getWorkbench().getDisplay();
+ if (display.getThread() == Thread.currentThread()) {
+ workbenchActivitySupport.setEnabledActivityIds(activityIDs);
+ } else {
+ final Set newActivityIDs = activityIDs;
+ display.asyncExec(new Runnable() {
+ public void run() {
+ workbenchActivitySupport.setEnabledActivityIds(newActivityIDs);
+ }
+ });
+ }
}
public Set getActivityIDsFromContribution(final String localID, final String pluginID) {