From a45da7ed8a79a1b23741a9132f0ae06ddff74c12 Mon Sep 17 00:00:00 2001 From: Andrew Gvozdev Date: Tue, 8 May 2012 23:58:47 -0400 Subject: [PATCH] bug 328007: [sd90] Decoration for non-existing providers --- .../settings/providers/LanguageSettingsEntriesTab.java | 3 +++ .../settings/providers/LanguageSettingsProviderTab.java | 5 +---- .../providers/LanguageSettingsProvidersLabelProvider.java | 7 ++++++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsEntriesTab.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsEntriesTab.java index dff8d314d3f..9a0e10b9276 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsEntriesTab.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsEntriesTab.java @@ -112,6 +112,9 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab { @Override protected String[] getOverlayKeys(ILanguageSettingsProvider provider) { String[] overlayKeys = super.getOverlayKeys(provider); + if (provider.getName() == null) { + return overlayKeys; + } if (currentLanguageId != null) { IResource rc = getResource(); 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 9ffe4cd9537..1e235892470 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 @@ -115,14 +115,11 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab { private class ProvidersTableLabelProvider extends LanguageSettingsProvidersLabelProvider { @Override protected String[] getOverlayKeys(ILanguageSettingsProvider provider) { + String[] overlayKeys = super.getOverlayKeys(provider); if (provider.getName() == null) { - String[] overlayKeys = new String[5]; - overlayKeys[IDecoration.TOP_RIGHT] = CDTSharedImages.IMG_OVR_ERROR; return overlayKeys; } - String[] overlayKeys = super.getOverlayKeys(provider); - if (page.isForProject()) { if (isEditedForProject(provider)) { overlayKeys[IDecoration.TOP_RIGHT] = CDTSharedImages.IMG_OVR_EDITED; diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsProvidersLabelProvider.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsProvidersLabelProvider.java index e93bae0f8d3..b7c8598a6b8 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsProvidersLabelProvider.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsProvidersLabelProvider.java @@ -12,6 +12,7 @@ package org.eclipse.cdt.internal.ui.language.settings.providers; import java.net.URL; +import org.eclipse.jface.viewers.IDecoration; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.osgi.util.NLS; import org.eclipse.swt.graphics.Image; @@ -63,7 +64,11 @@ public class LanguageSettingsProvidersLabelProvider extends LabelProvider { * Returns keys for image overlays. Returning {@code null} is not allowed. */ protected String[] getOverlayKeys(ILanguageSettingsProvider provider) { - return new String[5]; + String[] overlayKeys = new String[5]; + if (provider.getName() == null) { + overlayKeys[IDecoration.BOTTOM_LEFT] = CDTSharedImages.IMG_OVR_ERROR; + } + return overlayKeys; } @Override