From 38577c4ec9de7bd2bafd6fcb95f276fa6ffecd46 Mon Sep 17 00:00:00 2001 From: Alena Laskavaia Date: Tue, 25 Aug 2015 09:30:27 -0400 Subject: [PATCH] NPE in StopActiveCommandHandler when origin is null Change-Id: Ic6749311328d9521d64c5d339006c0065e200117 --- .../internal/commands/StopActiveCommandHandler.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/commands/StopActiveCommandHandler.java b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/commands/StopActiveCommandHandler.java index 5e3f24c884f..f6a6c3fb1f3 100644 --- a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/commands/StopActiveCommandHandler.java +++ b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/commands/StopActiveCommandHandler.java @@ -50,17 +50,24 @@ public class StopActiveCommandHandler extends AbstractHandler { final ILaunch[] activeLaunches = DebugPlugin.getDefault().getLaunchManager().getLaunches(); if (activeLaunches != null && activeLaunches.length > 0) { new Job(Messages.StopActiveCommandHandler_0) { + @Override protected IStatus run(IProgressMonitor monitor) { try { ILaunchConfiguration activeConfig = launchBarManager.getActiveLaunchConfiguration(); + if (activeConfig == null) { + return Status.OK_STATUS; + } for (ILaunch launch : activeLaunches) { ILaunchConfiguration launchConfig = launch.getLaunchConfiguration(); - if (launchConfig != null && launchConfig.equals(activeConfig)) { + if (activeConfig.equals(launchConfig)) { launch.terminate(); - } else if (launchConfig instanceof ILaunchConfigurationWorkingCopy) { + continue; + } + if (launchConfig instanceof ILaunchConfigurationWorkingCopy) { // There are evil delegates that use a working copy for scratch storage - if (((ILaunchConfigurationWorkingCopy) launchConfig).getOriginal().equals(activeConfig)) { + if (activeConfig.equals(((ILaunchConfigurationWorkingCopy) launchConfig).getOriginal())) { launch.terminate(); + continue; } } }