diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/ScannerConfigUtil.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/ScannerConfigUtil.java index cd7ea5cb887..3607fac85c5 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/ScannerConfigUtil.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/ScannerConfigUtil.java @@ -298,27 +298,29 @@ public final class ScannerConfigUtil { } public static IPath getDiscoveredScannerConfigStore(IProject project, boolean delete) { - if (project != null) { + String fileName = null; + try { + fileName = project.getPersistentProperty(discoveredScannerConfigFileNameProperty); + } catch (CoreException e) { + MakeCorePlugin.log(e.getStatus()); + } + if (fileName == null) { + fileName = String.valueOf(sRandom.nextLong()) + ".sc"; //$NON-NLS-1$ try { - String fileName = project.getPersistentProperty(discoveredScannerConfigFileNameProperty); - if (fileName == null) { - fileName = String.valueOf(sRandom.nextLong()) + ".sc"; //$NON-NLS-1$ - project.setPersistentProperty(discoveredScannerConfigFileNameProperty, fileName); - } - - IPath path = MakeCorePlugin.getWorkingDirectory(); - path = path.append(fileName); - if (delete) { - File file = path.toFile(); - if (file.exists()) { - file.delete(); - } - } - return path; + project.setPersistentProperty(discoveredScannerConfigFileNameProperty, fileName); } catch (CoreException e) { MakeCorePlugin.log(e.getStatus()); } } - return null; + + IPath path = MakeCorePlugin.getWorkingDirectory(); + path = path.append(fileName); + if (delete) { + File file = path.toFile(); + if (file.exists()) { + file.delete(); + } + } + return path; } } diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/DiscoveredPathManager.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/DiscoveredPathManager.java index 185f6257a6b..cd26ea1f006 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/DiscoveredPathManager.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/DiscoveredPathManager.java @@ -121,7 +121,9 @@ public class DiscoveredPathManager implements IDiscoveredPathManager, IResourceC public void removeDiscoveredInfo(IProject project) { ScannerConfigUtil.getDiscoveredScannerConfigStore(project, true); DiscoveredPathInfo info = (DiscoveredPathInfo)fDiscoveredMap.remove(project); - fireUpdate(INFO_REMOVED, info); + if (info != null) { + fireUpdate(INFO_REMOVED, info); + } } public void updateDiscoveredInfo(IDiscoveredPathInfo info) throws CoreException {