diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CConfigurationDescription.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CConfigurationDescription.java index aa149389285..4f88ac1d8c2 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CConfigurationDescription.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CConfigurationDescription.java @@ -370,7 +370,11 @@ public class CConfigurationDescription extends CDataProxyContainer implements IC } public CConfigurationData getConfigurationData() { - return getConfigurationData(true); + CConfigurationData data = getConfigurationData(true); + if(data instanceof CConfigurationDescriptionCache){ + data = ((CConfigurationDescriptionCache)data).getConfigurationData(); + } + return data; } public void setConfigurationData(String buildSystemId, CConfigurationData data) throws WriteAccessException { diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CDataProxy.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CDataProxy.java index 6be8be5c286..91cc82c79be 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CDataProxy.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CDataProxy.java @@ -115,7 +115,7 @@ public abstract class CDataProxy implements ICSettingObject { setRescan(true); } - protected void checkUpdate(boolean write){ + final protected void checkUpdate(boolean write){ if((write && !containsWritableData()) || isRescan()) fParent.updateChild(this, write);