1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Got rid of spurious wrench overlay for workspace provider when no such

extension exist.
This commit is contained in:
Andrew Gvozdev 2011-12-19 18:38:11 -05:00
parent 70d4b2a2a8
commit 424d15432e
2 changed files with 11 additions and 1 deletions

View file

@ -13,6 +13,7 @@ package org.eclipse.cdt.core.language.settings.providers;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.model.ILanguage;
@ -140,6 +141,14 @@ public class LanguageSettingsManager {
return LanguageSettingsExtensionManager.getProviderCopy(provider, deep);
}
/**
* Returns list of provider id-s contributed by all extensions.
* @return the provider id-s.
*/
public static Set<String> getExtensionProviderIds() {
return LanguageSettingsExtensionManager.getExtensionProviderIds();
}
/**
* Get language settings provider defined via extension point
* {@code org.eclipse.cdt.core.LanguageSettingsProvider}.

View file

@ -159,7 +159,8 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
private static boolean isReconfigured(ILanguageSettingsProvider provider) {
if (provider instanceof ILanguageSettingsEditableProvider) {
return ! LanguageSettingsManager.isEqualExtensionProvider(provider, false);
return (LanguageSettingsManager.getExtensionProviderIds().contains(provider.getId()) &&
! LanguageSettingsManager.isEqualExtensionProvider(provider, false));
}
return false;
}