From f530f8696943554ca5271c3ace363f3597172da7 Mon Sep 17 00:00:00 2001 From: Mikhail Sennikovsky Date: Fri, 27 Jul 2007 12:19:32 +0000 Subject: [PATCH] Additional fix for [Bug 197685] CfgScannerConfigInfo should getContainer with proper profileId --- .../core/scannerconfig/IDiscoveredPathManager.java | 2 ++ .../core/scannerconfig/DiscoveredPathManager.java | 10 +++++++--- .../core/scannerconfig/CfgDiscoveredPathManager.java | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/IDiscoveredPathManager.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/IDiscoveredPathManager.java index 9dcd2f52524..8cf9e00911d 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/IDiscoveredPathManager.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/IDiscoveredPathManager.java @@ -114,6 +114,8 @@ public interface IDiscoveredPathManager { IDiscoveredPathInfo getDiscoveredInfo(IProject project, InfoContext context) throws CoreException; + IDiscoveredPathInfo getDiscoveredInfo(IProject project, InfoContext context, boolean defaultToProjectSettings) throws CoreException; + IDiscoveredPathInfo getDiscoveredInfo(IProject project) throws CoreException; void removeDiscoveredInfo(IProject project); void removeDiscoveredInfo(IProject project, InfoContext context); 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 0343c6a426d..b3eed90ae95 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 @@ -140,11 +140,15 @@ public class DiscoveredPathManager implements IDiscoveredPathManager, IResourceC } public IDiscoveredPathInfo getDiscoveredInfo(IProject project, InfoContext context) throws CoreException{ + return getDiscoveredInfo(project, context, true); + } + + public IDiscoveredPathInfo getDiscoveredInfo(IProject project, InfoContext context, boolean defaultToProjectSettings) throws CoreException{ DiscoveredInfoHolder holder = getHolder(project, true); IDiscoveredPathInfo info = holder.getInfo(context); if(info == null){ - info = loadPathInfo(project, context); + info = loadPathInfo(project, context, defaultToProjectSettings); holder.setInfo(context, info); } @@ -160,12 +164,12 @@ public class DiscoveredPathManager implements IDiscoveredPathManager, IResourceC return holder; } - private IDiscoveredPathInfo loadPathInfo(IProject project, InfoContext context) throws CoreException { + private IDiscoveredPathInfo loadPathInfo(IProject project, InfoContext context, boolean defaultToProjectSettings) throws CoreException { IDiscoveredPathInfo pathInfo = null; IScannerConfigBuilderInfo2Set container = ScannerConfigProfileManager.createScannerConfigBuildInfo2Set(project); IScannerConfigBuilderInfo2 buildInfo = container.getInfo(context); - if(buildInfo == null) + if(buildInfo == null && defaultToProjectSettings) buildInfo = container.getInfo(new InfoContext(project)); if(buildInfo != null){ diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/internal/core/scannerconfig/CfgDiscoveredPathManager.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/internal/core/scannerconfig/CfgDiscoveredPathManager.java index 83040223322..72b47a2f3c4 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/internal/core/scannerconfig/CfgDiscoveredPathManager.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/internal/core/scannerconfig/CfgDiscoveredPathManager.java @@ -285,7 +285,7 @@ public class CfgDiscoveredPathManager implements IResourceChangeListener { } private IDiscoveredPathManager.IDiscoveredPathInfo loadPathInfo(IProject project, IConfiguration cfg, ContextInfo cInfo) throws CoreException{ - IDiscoveredPathManager.IDiscoveredPathInfo info = fBaseMngr.getDiscoveredInfo(cfg.getOwner().getProject(), cInfo.fLoadContext.toInfoContext()); + IDiscoveredPathManager.IDiscoveredPathInfo info = fBaseMngr.getDiscoveredInfo(cfg.getOwner().getProject(), cInfo.fLoadContext.toInfoContext(), false); if(!DiscoveredScannerInfoStore.getInstance().hasInfo(project, cInfo.fLoadContext.toInfoContext(), info.getSerializable())){ // setCachedPathInfo(context, info); ICfgScannerConfigBuilderInfo2Set container = cInfo.fCfgInfo;