From 1a8b9a9628cccc3fdff7c097f4c78cc9157f0d7e Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Thu, 29 Nov 2018 13:31:16 -0500 Subject: [PATCH] Bug 541709 Fix up exceptions when we can't find toolchains. We weren't checking the case where the size of the toolchains array was zero. Return a null config in that case and fix up the CommonBuildTab to deal with that. Change-Id: Ibd8f659988f1463570bdb2654d6ea2b4a45866c2 --- .../eclipse/cdt/make/internal/ui/MakeBuildSettingsTab.java | 3 +++ .../org/eclipse/cdt/launch/ui/corebuild/CommonBuildTab.java | 5 ++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/MakeBuildSettingsTab.java b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/MakeBuildSettingsTab.java index dcc818da4ee..c3700801eae 100644 --- a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/MakeBuildSettingsTab.java +++ b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/MakeBuildSettingsTab.java @@ -157,6 +157,9 @@ public class MakeBuildSettingsTab extends CommonBuildTab { super.initializeFrom(configuration); ICBuildConfiguration buildConfig = getBuildConfiguration(); + if (buildConfig == null) { + return; + } String container = buildConfig.getProperty(StandardBuildConfiguration.BUILD_CONTAINER); if (container != null && !container.trim().isEmpty()) { IPath containerLoc = new Path(container); diff --git a/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/ui/corebuild/CommonBuildTab.java b/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/ui/corebuild/CommonBuildTab.java index e58984d8f02..fafcfc3c4b9 100644 --- a/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/ui/corebuild/CommonBuildTab.java +++ b/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/ui/corebuild/CommonBuildTab.java @@ -30,7 +30,6 @@ import org.eclipse.debug.ui.AbstractLaunchConfigurationTab; import org.eclipse.debug.ui.ILaunchConfigurationDialog; import org.eclipse.launchbar.core.target.ILaunchTarget; import org.eclipse.launchbar.ui.ILaunchBarLaunchConfigDialog; -import org.eclipse.launchbar.ui.internal.Activator; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; @@ -182,7 +181,7 @@ public abstract class CommonBuildTab extends AbstractLaunchConfigurationTab { private boolean toolchainChanged() { int i = tcCombo.getSelectionIndex(); - if (i < 0) { + if (i < 0 || toolchains.length == 0) { buildConfig = null; return false; } else if (i == 0) { @@ -199,7 +198,7 @@ public abstract class CommonBuildTab extends AbstractLaunchConfigurationTab { try { buildConfig = bcManager.getBuildConfiguration(project, newToolchain, mode, new NullProgressMonitor()); } catch (CoreException e) { - Activator.log(e.getStatus()); + LaunchUIPlugin.log(e.getStatus()); } return true;