From ff4042c7475d9bebf8de8b1efc357e8f3a8db4d4 Mon Sep 17 00:00:00 2001 From: Andrew Gvozdev Date: Sat, 14 Aug 2010 18:39:37 +0000 Subject: [PATCH] bug 322695: Can't access preferences of any unrelated CDT project having "bad" project in workspace --- .../cdt/managedbuilder/internal/core/Configuration.java | 7 +++++++ .../internal/core/PluginResources.properties | 2 ++ 2 files changed, 9 insertions(+) diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java index 93a8f332250..1717accd1fe 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java @@ -87,8 +87,11 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Platform; +import org.eclipse.osgi.util.NLS; import org.osgi.framework.Version; +import com.ibm.icu.text.MessageFormat; + public class Configuration extends BuildObject implements IConfiguration, IBuildPropertiesRestriction, IBuildPropertyChangeListener, IRealBuildObjectAssociation { private static final String EMPTY_STRING = ""; //$NON-NLS-1$ @@ -843,6 +846,10 @@ public class Configuration extends BuildObject implements IConfiguration, IBuild // If not, then try the extension configurations if (parent == null) { parent = ManagedBuildManager.getExtensionConfiguration(element.getAttribute(IConfiguration.PARENT)); + if (parent==null) { + String message = NLS.bind(ManagedMakeMessages.getResourceString("Configuration.orphaned"), getId(), element.getAttribute(IConfiguration.PARENT)); //$NON-NLS-1$ + ManagedBuilderCorePlugin.error(message); + } } } diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties index 14f383cbb3d..551b5a0743e 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties @@ -98,6 +98,8 @@ ManagedBuildInfo.message.init.ok = Initializing path container succeeded for {0} # Default GNU Makefile Generator messages GnuMakefileGenerator.message.postproc.dep.file=Verifying contents of dependency file {0} +# Configuration strings +Configuration.orphaned=Orphaned CDT build configuration [{0}]: parent extension cfg [{1}] not found # Tool strings Tool.default.announcement=Invoking: Tool_Problem_Discovering_Args_For_Option=Problem discovering arguments for Tool option: {0} ({1})