diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/ChangeBuildConfigActionBase.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/ChangeBuildConfigActionBase.java index 1246670f8d6..aafa56af5cd 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/ChangeBuildConfigActionBase.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/ChangeBuildConfigActionBase.java @@ -29,6 +29,9 @@ import org.eclipse.cdt.core.model.ICProject; import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; import org.eclipse.cdt.core.settings.model.ICProjectDescription; +import org.eclipse.cdt.internal.ui.cview.IncludeRefContainer; +import org.eclipse.cdt.internal.ui.cview.IncludeReferenceProxy; + /** * Base class for build configuration actions. */ @@ -161,6 +164,17 @@ public class ChangeBuildConfigActionBase { } else if (selItem instanceof IResource) { project = ((IResource)selItem).getProject(); + } else if (selItem instanceof IncludeRefContainer) { + ICProject fCProject = ((IncludeRefContainer)selItem).getCProject(); + if (fCProject != null) + project = fCProject.getProject(); + } else if (selItem instanceof IncludeReferenceProxy) { + IncludeRefContainer irc = ((IncludeReferenceProxy)selItem).getIncludeRefContainer(); + if (irc != null) { + ICProject fCProject = irc.getCProject(); + if (fCProject != null) + project = fCProject.getProject(); + } } // Check whether the project is CDT project if (project != null) { diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/ManageConfigSelector.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/ManageConfigSelector.java index 5ca0f12aac4..e5ef51aaa71 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/ManageConfigSelector.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/ManageConfigSelector.java @@ -23,6 +23,10 @@ import org.eclipse.core.runtime.Platform; import org.eclipse.cdt.core.model.CoreModel; import org.eclipse.cdt.core.model.ICElement; +import org.eclipse.cdt.core.model.ICProject; + +import org.eclipse.cdt.internal.ui.cview.IncludeRefContainer; +import org.eclipse.cdt.internal.ui.cview.IncludeReferenceProxy; /** * This class provides static methods to work with multiple @@ -79,7 +83,19 @@ public class ManageConfigSelector { prj = ((ICElement)obs[i]).getCProject().getProject(); } else if (obs[i] instanceof IResource) { // for other views prj = ((IResource)obs[i]).getProject(); - } + /* get project from Include folder elements */ + } else if (obs[i] instanceof IncludeRefContainer) { + ICProject fCProject = ((IncludeRefContainer)obs[i]).getCProject(); + if (fCProject != null) + prj = fCProject.getProject(); + } else if (obs[i] instanceof IncludeReferenceProxy) { + IncludeRefContainer irc = ((IncludeReferenceProxy)obs[i]).getIncludeRefContainer(); + if (irc != null) { + ICProject fCProject = irc.getCProject(); + if (fCProject != null) + prj = fCProject.getProject(); + } + } if (prj == null || lst.contains(prj) || !CoreModel.getDefault().isNewStyleProject(prj))