diff options
author | Ken Ryall | 2010-06-03 17:19:19 +0000 |
---|---|---|
committer | Ken Ryall | 2010-06-03 17:19:19 +0000 |
commit | 8cf1d7897809ec5d3877d75fbd9fe006bb1a660b (patch) | |
tree | f5ffb5d813a07f257afce8a98c0265ea7ee1bb17 /launch | |
parent | 912f531ec415fe641206101e70debd5dd4d4d923 (diff) | |
download | org.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.java | 27 |
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); + } + }); + } } |