From 4cb1ac4e55cef5a8538080b753850807df3ec624 Mon Sep 17 00:00:00 2001 From: Mikhail Sennikovsky Date: Wed, 25 Jul 2007 15:04:20 +0000 Subject: [PATCH] Fix for [Bug 197715] getConfigurationForDescription fails if it's a cache --- .../core/settings/model/CConfigurationDescription.java | 6 +++++- .../cdt/internal/core/settings/model/CDataProxy.java | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) 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);