diff --git a/cmake/org.eclipse.cdt.cmake.core/src/org/eclipse/cdt/cmake/core/internal/CMakeToolChainManager.java b/cmake/org.eclipse.cdt.cmake.core/src/org/eclipse/cdt/cmake/core/internal/CMakeToolChainManager.java index f7f2088e983..b4121d0b5aa 100644 --- a/cmake/org.eclipse.cdt.cmake.core/src/org/eclipse/cdt/cmake/core/internal/CMakeToolChainManager.java +++ b/cmake/org.eclipse.cdt.cmake.core/src/org/eclipse/cdt/cmake/core/internal/CMakeToolChainManager.java @@ -156,20 +156,18 @@ public void addToolChainFile(ICMakeToolChainFile file) { public void removeToolChainFile(ICMakeToolChainFile file) { init(); fireEvent(new CMakeToolChainEvent(CMakeToolChainEvent.REMOVED, file)); - String tcId = makeToolChainId(file.getProperty(CMakeBuildConfiguration.TOOLCHAIN_TYPE), - file.getProperty(CMakeBuildConfiguration.TOOLCHAIN_ID)); - filesByToolChain.remove(tcId); - - String n = ((CMakeToolChainFile) file).n; - if (n != null) { - Preferences prefs = getPreferences(); - Preferences tcNode = prefs.node(n); - try { + try { + String tcId = makeToolChainId(file.getToolChain()); + filesByToolChain.remove(tcId); + String n = ((CMakeToolChainFile) file).n; + if (n != null) { + Preferences prefs = getPreferences(); + Preferences tcNode = prefs.node(n); tcNode.removeNode(); prefs.flush(); - } catch (BackingStoreException e) { - Activator.log(e); } + } catch (CoreException | BackingStoreException e) { + Activator.log(e); } }