From 2f425c4386bf457f46345c32ccee2fb410a92ecf Mon Sep 17 00:00:00 2001 From: Caroline Rieder Date: Sat, 12 Jan 2013 05:44:13 -0500 Subject: [PATCH] bug 395307: Switching back to project specific language settings provider seems to be incorrect --- .../providers/LanguageSettingsProviderTab.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsProviderTab.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsProviderTab.java index bced35b4906..fefcb4f35ad 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsProviderTab.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsProviderTab.java @@ -479,13 +479,16 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab { newProvider = LanguageSettingsManager.getWorkspaceProvider(id); } else { // Toggle to configuration-owned provider - try { - ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(provider); - if (rawProvider instanceof ILanguageSettingsEditableProvider) { - newProvider = ((ILanguageSettingsEditableProvider) rawProvider).cloneShallow(); + newProvider = getInitialProvider(id); + if(newProvider == null) { + try { + ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(provider); + if (rawProvider instanceof ILanguageSettingsEditableProvider) { + newProvider = ((ILanguageSettingsEditableProvider) rawProvider).cloneShallow(); + } + } catch (CloneNotSupportedException e) { + CUIPlugin.log("Error cloning provider " + id, e); //$NON-NLS-1$ } - } catch (CloneNotSupportedException e) { - CUIPlugin.log("Error cloning provider " + id, e); //$NON-NLS-1$ } } if (newProvider != null) {