diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CConfigurationDataProviderDescriptor.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CConfigurationDataProviderDescriptor.java index 2a2cd85d3c6..fd58e12d23d 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CConfigurationDataProviderDescriptor.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CConfigurationDataProviderDescriptor.java @@ -51,6 +51,11 @@ public class CConfigurationDataProviderDescriptor { fNatureIds = new String[0]; fConflictingNatureIds = new String[0]; } + try { + fProvider = createProvider(extension); + } catch (CoreException e) { + CCorePlugin.log(e.getStatus()); + } } private static String[] toArray(String value){ diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CProjectDescriptionManager.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CProjectDescriptionManager.java index ea6fee5879e..6f6eae2dbc2 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CProjectDescriptionManager.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CProjectDescriptionManager.java @@ -268,8 +268,10 @@ public class CProjectDescriptionManager implements ICProjectDescriptionManager { public static CProjectDescriptionManager getInstance(){ if(fInstance == null) synchronized(CProjectDescriptionManager.class) { - if (fInstance == null) + if (fInstance == null) { fInstance = new CProjectDescriptionManager(); + fInstance.initProviderInfo(); + } } return fInstance; }