Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/CMakePreferencePage.java')
-rw-r--r--build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/CMakePreferencePage.java24
1 files changed, 12 insertions, 12 deletions
diff --git a/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/CMakePreferencePage.java b/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/CMakePreferencePage.java
index 7cc58fbb996..6a6275747db 100644
--- a/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/CMakePreferencePage.java
+++ b/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/CMakePreferencePage.java
@@ -100,11 +100,11 @@ public class CMakePreferencePage extends PreferencePage implements IWorkbenchPre
WizardDialog dialog = new WizardDialog(getShell(), wizard);
if (dialog.open() == Window.OK) {
ICMakeToolChainFile file = wizard.getNewFile();
- if (filesToRemove.containsKey(file.getPath())) {
- filesToRemove.remove(file.getPath());
- } else {
- filesToAdd.put(file.getPath(), file);
+ ICMakeToolChainFile oldFile = manager.getToolChainFile(file.getPath());
+ if (oldFile != null) {
+ filesToRemove.put(oldFile.getPath(), oldFile);
}
+ filesToAdd.put(file.getPath(), file);
updateTable();
}
}
@@ -162,27 +162,27 @@ public class CMakePreferencePage extends PreferencePage implements IWorkbenchPre
files.put(file.getPath(), file);
}
- for (ICMakeToolChainFile file : filesToAdd.values()) {
- files.put(file.getPath(), file);
- }
-
for (ICMakeToolChainFile file : filesToRemove.values()) {
files.remove(file.getPath());
}
+ for (ICMakeToolChainFile file : filesToAdd.values()) {
+ files.put(file.getPath(), file);
+ }
+
return files;
}
@Override
public boolean performOk() {
- for (ICMakeToolChainFile file : filesToAdd.values()) {
- manager.addToolChainFile(file);
- }
-
for (ICMakeToolChainFile file : filesToRemove.values()) {
manager.removeToolChainFile(file);
}
+ for (ICMakeToolChainFile file : filesToAdd.values()) {
+ manager.addToolChainFile(file);
+ }
+
filesToAdd.clear();
filesToRemove.clear();

Back to the top