Skip to main content
summaryrefslogtreecommitdiffstats
path: root/launch
diff options
context:
space:
mode:
authorKen Ryall2010-06-03 17:19:19 +0000
committerKen Ryall2010-06-03 17:19:19 +0000
commit8cf1d7897809ec5d3877d75fbd9fe006bb1a660b (patch)
treef5ffb5d813a07f257afce8a98c0265ea7ee1bb17 /launch
parent912f531ec415fe641206101e70debd5dd4d4d923 (diff)
downloadorg.eclipse.cdt-8cf1d7897809ec5d3877d75fbd9fe006bb1a660b.tar.gz
org.eclipse.cdt-8cf1d7897809ec5d3877d75fbd9fe006bb1a660b.tar.xz
org.eclipse.cdt-8cf1d7897809ec5d3877d75fbd9fe006bb1a660b.zip
Bug 315461 - [launch] Invalid thread access exception during launch
Diffstat (limited to 'launch')
-rw-r--r--launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/LaunchUtils.java27
1 files changed, 16 insertions, 11 deletions
diff --git a/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/LaunchUtils.java b/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/LaunchUtils.java
index 077add98a1c..d5fb53c28aa 100644
--- a/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/LaunchUtils.java
+++ b/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/LaunchUtils.java
@@ -122,18 +122,23 @@ public class LaunchUtils {
* @since 6.1
*/
@SuppressWarnings("unchecked")
- public static void enableActivity(String activityID, boolean enableit)
+ public static void enableActivity(final String activityID, final boolean enableit)
{
- IWorkbenchActivitySupport workbenchActivitySupport = PlatformUI.getWorkbench().getActivitySupport();
- IActivityManager activityManager = workbenchActivitySupport.getActivityManager();
- Set<String> enabledActivityIds = new HashSet<String>(activityManager.getEnabledActivityIds());
- boolean changed = false;
- if (enableit)
- changed = enabledActivityIds.add(activityID);
- else
- changed = enabledActivityIds.remove(activityID);
- if (changed)
- workbenchActivitySupport.setEnabledActivityIds(enabledActivityIds);
+ PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ IWorkbenchActivitySupport workbenchActivitySupport = PlatformUI.getWorkbench().getActivitySupport();
+ IActivityManager activityManager = workbenchActivitySupport.getActivityManager();
+ Set<String> enabledActivityIds = new HashSet<String>(activityManager.getEnabledActivityIds());
+ boolean changed = false;
+ if (enableit)
+ changed = enabledActivityIds.add(activityID);
+ else
+ changed = enabledActivityIds.remove(activityID);
+ if (changed)
+ workbenchActivitySupport.setEnabledActivityIds(enabledActivityIds);
+ }
+ });
+
}
}

Back to the top