From 3222ba63edd499f7ad7f25087f9c496ec0433e02 Mon Sep 17 00:00:00 2001 From: Caroline Rieder Date: Sat, 12 Jan 2013 05:48:20 -0500 Subject: [PATCH] bug 395442: Initial provider command is not restored for non-shared providers --- .../settings/providers/LanguageSettingsProviderTab.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 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 fefcb4f35ad..078e30ce016 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 @@ -439,9 +439,12 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab { if (event.getChecked()) { if (LanguageSettingsManager.isWorkspaceProvider(checkedProvider) && !LanguageSettingsManager.isPreferShared(id)) { - ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(checkedProvider); - if (rawProvider instanceof ILanguageSettingsEditableProvider) { - newProvider = LanguageSettingsManager.getProviderCopy((ILanguageSettingsEditableProvider) rawProvider, false); + newProvider = getInitialProvider(id); + if(newProvider == null) { + ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(checkedProvider); + if (rawProvider instanceof ILanguageSettingsEditableProvider) { + newProvider = LanguageSettingsManager.getProviderCopy((ILanguageSettingsEditableProvider) rawProvider, false); + } } } } else {