From eb561ddbf82933950d2a68fbc52ff0bff3223264 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Wed, 10 May 2017 14:36:37 -0400 Subject: [PATCH] Multiple fixes for indexing support - fix ContainerPropertyTab.performApply to be ready for a null enablement property which occurs when Apply is hit on another tab page - fix LanguageSettingsWorkspaceProvider.getSettingEntries method to use the CommandLauncherManager so entries will be transformed to use cached headers Change-Id: Ib2bb283d768905716e7fb37fd598aeace7832b2d --- .../providers/LanguageSettingsProvidersSerializer.java | 5 +++++ .../cdt/internal/docker/launcher/ContainerPropertyTab.java | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java index b20ca4b62f3..cbb1001c69f 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java @@ -20,6 +20,7 @@ import java.util.Map; import java.util.Set; import org.eclipse.cdt.core.CCorePlugin; +import org.eclipse.cdt.core.CommandLauncherManager; import org.eclipse.cdt.core.language.settings.providers.ICListenerAgent; import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsBroadcastingProvider; import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsChangeEvent; @@ -178,6 +179,10 @@ public class LanguageSettingsProvidersSerializer { public List getSettingEntries(ICConfigurationDescription cfgDescription, IResource rc, String languageId) { ILanguageSettingsProvider rawProvider = getRawProvider(); List entries = rawProvider!=null ? rawProvider.getSettingEntries(cfgDescription, rc, languageId) : null; + if (cfgDescription != null) { + IProject project = cfgDescription.getProjectDescription().getProject(); + entries = CommandLauncherManager.getInstance().getLanguageSettingEntries(project, entries); + } return entries; } diff --git a/launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerPropertyTab.java b/launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerPropertyTab.java index 0aa9eb15693..ded93dcd538 100644 --- a/launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerPropertyTab.java +++ b/launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerPropertyTab.java @@ -359,7 +359,8 @@ public class ContainerPropertyTab extends AbstractCBuildPropertyTab .getProperty(ContainerCommandLauncher.CONTAINER_BUILD_ENABLED); String enablementProperty2 = prop2 .getProperty(ContainerCommandLauncher.CONTAINER_BUILD_ENABLED); - if (!enablementProperty.equals(enablementProperty2)) { + if (enablementProperty != null + && !enablementProperty.equals(enablementProperty2)) { needToRecalculate = true; } prop2.setProperty(ContainerCommandLauncher.CONTAINER_BUILD_ENABLED,