diff --git a/core/org.eclipse.cdt.ui/META-INF/MANIFEST.MF b/core/org.eclipse.cdt.ui/META-INF/MANIFEST.MF index a49a64c5662..222c320ff9a 100644 --- a/core/org.eclipse.cdt.ui/META-INF/MANIFEST.MF +++ b/core/org.eclipse.cdt.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.cdt.ui; singleton:=true -Bundle-Version: 6.6.100.qualifier +Bundle-Version: 6.6.200.qualifier Bundle-Activator: org.eclipse.cdt.ui.CUIPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/build/ToolChainPreferencePage.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/build/ToolChainPreferencePage.java index dd465d3e4a8..4920592f391 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/build/ToolChainPreferencePage.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/build/ToolChainPreferencePage.java @@ -11,6 +11,7 @@ package org.eclipse.cdt.ui.build; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import org.eclipse.cdt.core.build.IToolChain; @@ -314,8 +315,24 @@ public class ToolChainPreferencePage extends PreferencePage implements IWorkbenc } try { - if (!toolChains.equals(manager.getAllToolChains())) { - manager.setToolChainOrder(toolChains); + Collection latestToolchains = manager.getAllToolChains(); + if (!toolChains.equals(latestToolchains)) { + + List newOrderedList = new ArrayList<>(); + for (IToolChain toolChain : toolChains) { + if (latestToolchains.contains(toolChain)) { //Still there? - for example: existing user defined tool chain would have been removed + newOrderedList.add(toolChain); + } + } + + //add the remaining list at the end - for example: newly added user defined tool chains + for (IToolChain toolChain : latestToolchains) { + if (!newOrderedList.contains(toolChain)) { + newOrderedList.add(toolChain); + } + } + + manager.setToolChainOrder(newOrderedList); } } catch (CoreException e) { CUIPlugin.log(e.getStatus());