diff options
-rw-r--r-- | launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/LaunchUtils.java | 31 |
1 files changed, 17 insertions, 14 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 d5fb53c28aa..9d60f2bc167 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 @@ -124,20 +124,23 @@ public class LaunchUtils { @SuppressWarnings("unchecked") public static void enableActivity(final String activityID, final boolean enableit) { - 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); - } - }); + if (PlatformUI.isWorkbenchRunning()) + { + 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); + } + }); + } } |