Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/build/CBuildConfigurationManager.java')
-rw-r--r--core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/build/CBuildConfigurationManager.java19
1 files changed, 11 insertions, 8 deletions
diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/build/CBuildConfigurationManager.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/build/CBuildConfigurationManager.java
index ccdf7279142..89d2dc6fb9e 100644
--- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/build/CBuildConfigurationManager.java
+++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/build/CBuildConfigurationManager.java
@@ -160,15 +160,18 @@ public class CBuildConfigurationManager
String configName, IProgressMonitor monitor) throws CoreException {
String name = provider.getId() + '/' + configName;
- Set<String> names = new HashSet<>();
- for (IBuildConfiguration config : project.getBuildConfigs()) {
- names.add(config.getName());
- }
+ CoreModel m = CoreModel.getDefault();
+ synchronized (m) {
+ Set<String> names = new HashSet<>();
+ for (IBuildConfiguration config : project.getBuildConfigs()) {
+ names.add(config.getName());
+ }
- IProjectDescription desc = project.getDescription();
- names.add(name);
- desc.setBuildConfigs(names.toArray(new String[names.size()]));
- project.setDescription(desc, monitor);
+ IProjectDescription desc = project.getDescription();
+ names.add(name);
+ desc.setBuildConfigs(names.toArray(new String[names.size()]));
+ project.setDescription(desc, monitor);
+ }
return project.getBuildConfig(name);
}

Back to the top