From 6c4c3c936330dc1f71475e6ed0e46aeddbe5cc8a Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Wed, 2 Nov 2016 11:14:27 -0400 Subject: [PATCH] Fix NPE in launch control when no descriptors. Also allows the enable preference to always disable. Change-Id: I991e26eb312d8bf0c9e32a4ce37119d4c38481a4 --- .../controls/internal/LaunchBarControl.java | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/bundles/org.eclipse.launchbar.ui.controls/src/org/eclipse/launchbar/ui/controls/internal/LaunchBarControl.java b/bundles/org.eclipse.launchbar.ui.controls/src/org/eclipse/launchbar/ui/controls/internal/LaunchBarControl.java index d89987ccee7..a8c90aa7684 100644 --- a/bundles/org.eclipse.launchbar.ui.controls/src/org/eclipse/launchbar/ui/controls/internal/LaunchBarControl.java +++ b/bundles/org.eclipse.launchbar.ui.controls/src/org/eclipse/launchbar/ui/controls/internal/LaunchBarControl.java @@ -96,17 +96,23 @@ public class LaunchBarControl implements ILaunchBarListener { configSelector.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false)); configSelector.setInput(manager); - // TODO remove boolean enabled = store.getBoolean(Activator.PREF_ENABLE_TARGETSELECTOR); - - boolean supportsTargets = true; - try { - ILaunchDescriptor desc = manager.getActiveLaunchDescriptor(); - supportsTargets = desc.getType().supportsTargets(); - } catch (CoreException e) { - Activator.log(e); + boolean supportsTargets; + if (!enabled) { + supportsTargets = false; + } else { + try { + ILaunchDescriptor desc = manager.getActiveLaunchDescriptor(); + if (desc != null) { + supportsTargets = desc.getType().supportsTargets(); + } else { + supportsTargets = true; + } + } catch (CoreException e) { + Activator.log(e); + supportsTargets = true; + } } - if (supportsTargets) { createTargetSelector(); }