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 1482e669be9..d5ca7759ad4 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 @@ -29,7 +29,6 @@ import org.eclipse.cdt.make.core.scannerconfig.ScannerConfigScope; import org.eclipse.cdt.make.internal.core.MakeMessages; import org.eclipse.cdt.make.internal.core.scannerconfig2.SCProfileInstance; import org.eclipse.cdt.make.internal.core.scannerconfig2.ScannerConfigProfileManager; -import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IResourceChangeEvent; @@ -171,9 +170,11 @@ public class DiscoveredPathManager implements IDiscoveredPathManager, IResourceC if (changedResources != null) { List changeDelta = new ArrayList(changedResources.size()); for (Iterator i = changedResources.iterator(); i.hasNext(); ) { - IFile file = (IFile) i.next(); - IPath path = file.getFullPath(); - changeDelta.add(new PathEntryContainerChanged(path, 3)); // both include paths and symbols changed + IResource resource = (IResource) i.next(); + IPath path = resource.getFullPath(); + changeDelta.add(new PathEntryContainerChanged(path, + PathEntryContainerChanged.INCLUDE_CHANGED | + PathEntryContainerChanged.MACRO_CHANGED)); // both include paths and symbols changed } CoreModel.pathEntryContainerUpdates(container, (PathEntryContainerChanged[]) changeDelta.toArray(new PathEntryContainerChanged[changeDelta.size()]), diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig2/PerProjectSICollector.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig2/PerProjectSICollector.java index 7e12a48fda1..a4527635483 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig2/PerProjectSICollector.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig2/PerProjectSICollector.java @@ -201,7 +201,9 @@ public class PerProjectSICollector implements IScannerInfoCollector2, IScannerIn monitor.subTask(MakeMessages.getString("ScannerInfoCollector.Updating") + project.getName()); //$NON-NLS-1$ try { // update scanner configuration - MakeCorePlugin.getDefault().getDiscoveryManager().updateDiscoveredInfo(pathInfo, null); + List resourceDelta = new ArrayList(1); + resourceDelta.add(project); + MakeCorePlugin.getDefault().getDiscoveryManager().updateDiscoveredInfo(pathInfo, resourceDelta); monitor.worked(50); } catch (CoreException e) { MakeCorePlugin.log(e); diff --git a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/dialogs/DiscoveredPathContainerPage.java b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/dialogs/DiscoveredPathContainerPage.java index a8e647c4e05..9a01e12de51 100644 --- a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/dialogs/DiscoveredPathContainerPage.java +++ b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/dialogs/DiscoveredPathContainerPage.java @@ -208,7 +208,9 @@ public class DiscoveredPathContainerPage extends WizardPage implements IPathEntr try { // update scanner configuration - MakeCorePlugin.getDefault().getDiscoveryManager().updateDiscoveredInfo(info, null); + List resourceDelta = new ArrayList(1); + resourceDelta.add(fCProject.getProject()); + MakeCorePlugin.getDefault().getDiscoveryManager().updateDiscoveredInfo(info, resourceDelta); return true; } catch (CoreException e) { MakeCorePlugin.log(e); diff --git a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/dialogs/DiscoveryOptionsBlock.java b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/dialogs/DiscoveryOptionsBlock.java index 96a8fa66a6e..4c7b17236ae 100644 --- a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/dialogs/DiscoveryOptionsBlock.java +++ b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/dialogs/DiscoveryOptionsBlock.java @@ -333,7 +333,8 @@ public class DiscoveryOptionsBlock extends AbstractDiscoveryOptionsBlock { ScannerConfigScope profileScope = ScannerConfigProfileManager.getInstance(). getSCProfileConfiguration(profileId).getProfileScope(); List changedResources = new ArrayList(); - changedResources.add(project.getFullPath()); +// changedResources.add(project.getFullPath()); + changedResources.add(project); MakeCorePlugin.getDefault().getDiscoveryManager().changeDiscoveredContainer( project, profileScope, changedResources); } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CElementContentProvider.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CElementContentProvider.java index 1954398b2a5..f9311440f65 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CElementContentProvider.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CElementContentProvider.java @@ -192,6 +192,7 @@ public class CElementContentProvider extends BaseCElementContentProvider impleme if (isPathEntryChange(delta)) { // throw the towel and do a full refresh of the affected C project. postRefresh(element.getCProject()); + return;// bailout } if (delta.getResourceDeltas() != null) {