diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IManagedOptionValueHandler.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IManagedOptionValueHandler.java index 4bde86408b8..8169754d86f 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IManagedOptionValueHandler.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IManagedOptionValueHandler.java @@ -38,7 +38,7 @@ public interface IManagedOptionValueHandler{ * button (or the OK button). The valueHandler can * transfer the value of the option to its own * back-end. */ - public final int EVENT_LOAD = 5; /** Posted when the managed build extensions (defined in the manifext files)extension option isThe option has been set by pressing the Apply + public final int EVENT_LOAD = 5; /** Posted when the managed build extensions (defined in the manifest files) * are loadded. * The handler is allowed to adjust the extension elements */ diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CConfigurationSpecSettings.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CConfigurationSpecSettings.java index fcb48302b8e..5eff937b25c 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CConfigurationSpecSettings.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CConfigurationSpecSettings.java @@ -643,6 +643,7 @@ public class CConfigurationSpecSettings implements ICSettingsStorage{ if(extRef == null){ extRef = createRef(extensionPoint, extension); checkReconsile(extensionPoint, false); + fIsModified = true; } return extRef; } diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CConfigBasedDescriptor.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CConfigBasedDescriptor.java index c8ca56bfca9..0317cfd7453 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CConfigBasedDescriptor.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CConfigBasedDescriptor.java @@ -147,6 +147,10 @@ public class CConfigBasedDescriptor implements ICDescriptor { return r; } + void setDirty(boolean dirty){ + fIsDirty = dirty; + } + public void updateConfiguration(ICConfigurationDescription des) throws CoreException{ fCfgDes = des; fProject = fCfgDes.getProjectDescription().getProject(); diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CConfigBasedDescriptorManager.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CConfigBasedDescriptorManager.java index 88cd98c0462..3c0cd8d5e45 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CConfigBasedDescriptorManager.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CConfigBasedDescriptorManager.java @@ -382,9 +382,10 @@ public class CConfigBasedDescriptorManager implements ICDescriptorManager { //the descriptor was requested while load process des = (CProjectDescription)CProjectDescriptionManager.getInstance().getProjectDescription(des.getProject(), true); ICConfigurationDescription cfgDescription = des.getIndexConfiguration(); - if(cfgDescription != null) + if(cfgDescription != null){ dr.updateConfiguration((CConfigurationDescription)cfgDescription); - else + dr.setDirty(false); + } else setLoaddedDescriptor(des, null); } } @@ -454,6 +455,7 @@ public class CConfigBasedDescriptorManager implements ICDescriptorManager { CProjectDescription writableDes = (CProjectDescription)CProjectDescriptionManager.getInstance().getProjectDescription(event.getProject(), true); ICConfigurationDescription indexCfg = writableDes.getIndexConfiguration(); dr.updateConfiguration((CConfigurationDescription)indexCfg); + dr.setDirty(false); } if(desEvent != null){ notifyListeners(desEvent);